Just my quick obervation, in your function spawn_male_fire function, you set the synonym before you created the model. Have you tried something like this:

synonym syn_male_fire_mutant {type entity;}

function male_fire_mutant
{syn_male_fire_mutant = ME;
}

/// functions to spawn the mutant models
function spawn_male_fire
{
temp.x=35;
temp.y=355;
temp.z=275;
vec_for_screen(temp,camera);
create(<humanoid.mdl>,temp,male_fire_mutant);

}