I'm a veteran as well and I remember when I first joined the service I learned right away that certain things that applied to civilians didn't apply to me anymore.
It's the same with all service members in all branches of the military. They took an oath and now have to abide by whatever rules and orders they are given. Personal opinions don't mean anything.
I don't see why the Marine is surprised that this happened to him for saying such things about the President. In the Navy if I had sent out an message to the entire ship that I would not follow the Captain's orders I would have been standing before the old man that very day.
Anyway the Marine needs to face UCMJ.