Not defending the practices or arguing in defense of bigotry, just offering an explanation.
If it’s a business model like a store where you come in and buy things with prices on them, that’s open to everyone equally.
If it’s a business where you sit down individually with each client and work out custom goods and services and pricing, then it’s less “owner sells things” and more “clients contract owner for XYZ”, and at that point, I’d tend to agree that it’s a two way street, that both parties must agree to terms.
At that point, both sides have the option to simply not agree and not enter into a contract, for any reason. Just because one may disagree with one party’s decision to not enter that agreement doesn’t mean they shouldn’t have that option.
What if it was a photographer who didn’t want to be hired to photograph a Trump rally, a pro-life protest, or something else they felt strongly against like a (peaceful, lawful) far right event?
I don’t think in those cases that a photographer should have no choice because the organizers are paying the money, so likewise, in this case, I don’t feel like it’s fair to force the photographer to cover an event they have a strong moral objection to, simply because that’s their business.
Again, I’m not arguing that I agree with the photographer or that their position isn’t bigoted, just offering a distinction.