If the law is worded properly, it would not do this. We don't want laws that allow us to discriminate against other people for what they ARE. We want laws that allow us to NOT participate in sinful actions of other people.
So, for example, the law may allow a hotel operator who believes in the 10 commandments to refuse to rent a room with a single bed to a non-married couple, based on the presumption that the non-married couple wants the room to have sex.
But the gay marriage thing is the clearest and easiest of all to understand -- we KNOW they are getting married, because that is the point, so if a person has a religious objection to gay marriage, they should not be forced to provide services that support a wedding they do not agree with.
I would note that if you actually run a hotel, you probably would not be allowed to discriminate against people who are not married, or discriminate against gay couples, because there are generally laws specifically about that.
I would be happy to photograph a gay person, even if they were getting married, so long as they were not having a gay marriage. So it would not be discrimination because they were gay (what they are), it would be about what they were DOING.
I heard on the radio just today that the bakery who refused to bake the gay wedding cake had made lots of bakery items for gay people they were friends with, just refused the wedding cake based on their religious beliefs. Doesn’t seem unreasonable to me.