No. But he should be able to reject creating something that says “whites only” or “straights only”.
Example:
Denying a “white power” photo session - should be legal
Denying taking senior photos because the client is white - should not be legal
Denying professional headshots because the client is gay - should not be legal
Denying a “gay pride” photo session - should be legal (though you’re an asshole if you do it IMO)
But the thing is, don’t even give a reason. You don’t have to take every job, and you don’t have to say why. If you make the stand to not take a certain job because of political reasons, you are bringing negative attention on yourself