I don't know why I'm jumping in on this.
This isn't about the First Amendment. The First Amendment protects speech against government action, i.e., getting thrown in jail for criticizing a public figure. Everyone has a right to speak their mind or demonstrate their disapproval of something so long as they do it in a proper time, place and manner--no violence, no blocking access, no bullhorns in the middle of the night, etc.
What they do not have the right to do is to be a professional football player. If the owners and the NFL management demanded that this stop they could do it without legal jeopardy. They need to do something because while this is polarizing in the end it is driving away their audience, some because they are upset, others because it is sucking all of the joy out of watching football. No audience, no fans, no one watching TV, no advertising dollars, eventually no NFL.
I understand the president's point and I understand his anger because a lot of people share the same feelings. But he was totally wrong to call the protesters SOBs. He could have said "that player is fired" or "that man is fired" and it would have had the same effect with less blowback. Using that kind of language just steps all over the point he was trying to make. When you're the president, you need to be careful in how you choose your words and he failed in the moment on Friday night. I'm not talking about being politically correct, because I have no use for political correctness. I'm talking about the basest kinds of insults. If you wouldn't say it to someone's face you shouldn't say it to a roomful of people either.