Yeah, frankly the law is clear. There are specific protected classes of historically marginalized minority groups; based on race, gender, sexual orientation, religion, disability, etc. Political affiliation isn't on that list. So, denying service to someone based on their politics isn't illegal, but doing so based on sexuality is.
Is that right? Should it be different? I think the law right now is fine; it generally protects people based on immutable characteristics (with religion as an exception). It applies to everyone equally to; I can't deny service to a straight couple because they're heterosexual. A Nazi can refuse to serve a Communist, and vice-versa.
Correct answer, fwiw