I have a problem with this, because in effect it is saying that if you want to be in business, you have to check your principles at the entrance.
I do run a business, and I do reserve the right to withhold service from people whose principles I find offensive. Just as as an employee, I would reserve the right to withdraw my service (resign) from an employer whose principles I disagreed with.
All this is very healthy for our society - it provides excellent feedback about your views, in both directions. The business owner losing business if they are overly intolerant, and the customer loses a valuable service if they are overly offensive. The system works pretty well - much better than any legal solution could.