The difference is that the other examples of discrimination that are against the law is about who you are, and not what you think. You cannot change your race, sexual orientation (presumably), or age. You can change your political ideas ... they're just thoughts.
Don't get me wrong, I agree with you that no one should discriminate against you for your political ideas, but what you call discriminate, other people may call taking a stand against something they strongly believe in. It really is such a fine line, I don't see how they could make a law about people's political views.
If I had a restaurant and you came in wearing your Trump hat, even though I detest him, I would have no problem serving you. I understand that other businesses would not, so I would gladly take the business from them and spread the word. Again, vote with your dollars, advertise with your mouth ... no law needed.
However, if you are otherwise being a jerk about spouting your ideas in my restaurant or harassing customers, I would probably ask you to leave. If you are a person that is directly involved in doing something that I find morally reprehensible (like the Sec. of Homeland Security separating families at the border and putting them in kiddie cages), I would definitely tell you to go eat somewhere else. You may call that a political issue, but I would call it a moral issue. I feel like that would be my right as a business owner. It would probably lose me customers to take a stand in that a manner, but I would have to decide what is more important to me ... using my business to take a stand on an issue, or serving you anyway.
And if you don't think businesses should take a stand on moral issues, go talk to Hobby Lobby. They took their moral issue all the way to the Supreme Court and won.