The point here is that the league could penalize these players if they wanted. They have chosen not to.
It's not a rule if there's no penalty for ignoring it.
The choice to penalize the behavior is not up to the players though. It's up to the owners of the teams, or the league. Just because your parents choose not to punish you for breaking a rule today, doesn't mean it's not a rule, and doesn't mean that they can't punish you if you continue to break it.
It's a suggestion. And you're not "expected" to follow a suggestion. Demanding strict obedience to suggestions at the expense of personal freedom isn't patriotic.
It's a suggestion about the behavior of players. There are multiple parts of the contracts players sign that reference expected behavior:
He agrees to give his best efforts and loyalty to the Club, and to conduct himself on and off the field with appropriate recognition of the fact that the success of professional football depends largely on public respect for and approval of those associated with the game.
... or if Player has engaged in personal conduct reasonably judged by Club to adversely affect or reflect on Club, then Club may terminate this contract.
Player recognizes the detriment to the League and professional football that would result from impairment of public confidence in the honest and orderly conduct of NFL games or the integrity and good character of NFL players. Player therefore acknowledges his awareness that if he... <list of things like bribes, fixing games, using performance enhancing drugs, etc.> ... ; or is guilty of any other form of conduct reasonably judged by the League Commissioner to be detrimental to the League or professional football, the Commissioner will have the right, but only after giving Player the opportunity for a hearing at which he may be represented by counsel of his choice, to fine Player in a reasonable amount; to suspend Player for a period certain or indefinitely; and/or to terminate this contract.
The league rules of conduct also reference this:
Everyone who is part of the league must refrain from “conduct detrimental to the integrity of and public confidence in” the NFL.
We must endeavor at all times to be people of high character; we must show respect for others inside and outside our workplace; and we must strive to conduct ourselves in ways that favorably reflect on ourselves, our teams, the communities we represent, and the NFL.
We are all held to a higher standard and must conduct ourselves in a way that is responsible, promotes the values of the NFL, and is lawful.
Prohibited conduct includes but is not limited to the following:
<list of stuff>
Conduct that undermines or puts at risk the integrity of the NFL, NFL clubs, or NFL personnel.
The players in the NFL are not special snowflakes. There's nothing sinister going on here. Every employer has similar rules and contracts, and similar power and discretion to chose when and whether to punish bad behavior which reflects badly on the company. I am under such an agreement, you are. Everyone who is employed is. You can't do things that make your employer look bad (exceptions for stuff like whistle blowing, I suppose, but that's not what we're talking about here).
If I stage protests on my employers property, during work hours, I'm not going to have a job for long. I'll be politely asked to stop, and if I don't, I'll be terminated. So would you, and so would everyone else here. This is not something special about NFL players. The only difference is that they have a national audience watching, which does not mean they get more discretion here, but less. Everything they do on the field is seen by millions of people.
There does not need to be a specific written rule about this. They're engaged in activities which many fans find offensive. That is causing reduced viewership, ticket sales, and merchandizing. The league needs to step in and stop this. Period. In precisely the way that employee behavior which customers find offensive has to be stopped.
This is not much different than the cashier at a store continually swearing and making customers uncomfortable. He can claim he's exercising his first amendment right all day long, but if customers complain, and he doesn't stop the behavior, he can and should be fired. When you are on the clock at work, you don't have the right to protest. It's not your time, and it's not your dime.
If players want to organize protests when not in uniform, and not during game times or other official events, they are free to do so. That's their right. Doing this during the game event? No. They have no right to do so. And if it's upsetting the fans (which it clearly is), then the owners and the league have one clear option. They should take it, sooner rather than later.