In response to anonamoose:

There is no collective bargaining agreement with the union indicating that the players have the right to engage in on-field political protest. While the union may express dismay at this new rule (since it introduces a new avenue to fine/discipline players), I do not believe they could mount a successful legal challenge to this. I also don't believe the union as a whole feels strongly enough about this to strike over this matter.

I don't understand your point about the NFL supporting the military. That is the league's choice, and does not give the players the right to engage in political protest on the field. It would be a different story if the players were simply choosing to not participate in military displays or the national anthem, but that's not the issue here. The players are allowed to opt-out, which is all they should be allowed to do. This way no one is forced to feign support for something they don't believe in, but they also can't disrupt any ceremonies the league wants to have.

Additionally, the national anthem has played at NFL games since before any current player was born. Every single NFL player was aware that the national anthem was part of the game. They chose to work for the NFL teams anyway. By accepting the money and signing those huge contracts, they have accepted all terms of employment, which includes agreeing to follow directions of the employer (aside from anything excluded by prior agreement via the union).

You also mentioned Michael Vick. He was punished under the morality clause which is in all standard major sports contracts. Denny Neagle of the Colorado Rockies was released without pay from his huge contract because he was caught with a hooker (and Colorado didn't want him anymore because he was terrible). Those are clear-cut cases of breaking the morality clause. However, expressing political dissent is not covered by that. That's why I'm saying these players need to protest on their own time.