You raise some good points, but the protestors can’t really have it both ways. They chose to make their political expression a protest during the ceremony honoring the flag knowing it would get people upset. They can’t now claim to be surprised that people are upset over their use of the flag ceremony. They could have said whatever they wanted while sitting or kneeling or standing on their own time after the game when no flag was in sight. But they didn’t — they made it about the flag. They can say it’s not disrespecting the flag, but that’s what the fans see: an act of disrespect. After that whatever the issue they were trying to raise becomes irrelevant.
It’s not about the First Amendment as much as the sense the protesting players are taking undue advantage of their privileged position as pro athletes to foist their politics on the fans. They are forcing American fans to condone an act of disrespect for the American flag in order to watch them play a game. Your reaction depends on how much you value the flag versus watching a game. Sure I enjoy watching NFL football. Lord knows I’ve spent a boatload of Sunday afternoons doing that. But for now, I can live quite well without it. Lots of other fans feel the same way. The message to the NFL players is clear: if the league wants patriotic American fans to watch them play, they can damn well stop insulting the American flag.