In other words, he publicly harassed a colleague who (for what could be any number of perfectly valid reasons) preferred not to publicly state their beliefs. That would seem to me to be an eminently reasonable reason to fire someone. If you go around publicly harassing your colleagues to publicly state their political opinions, you deserve to be fired.
Assuming you're in the US, it's my understanding that political affiliation is generally not a protected category. So if it's at-will employment at a private employer, it's probably legal to fire you for your political beliefs / actions (or "no reason" when it's really about political affiliation). If someone is engaging in behavior that bothers you, tell them to stop. If they don't, report them to HR. Make sure everything is in writing. But, be aware that HR might not be on your side; but at that point you really need to reconsider whether you want to work at a place where you are harassed and not supported by the company for not discussing politics.