Because you're taking away their speech, literally, by taking the thing they 1) own and 2) the medium are using to communicate their idea.
You can't take a Westboro church member's sign from them. You can't take a Greenpeace member's guitar away from them. You can't take a Black Panther's car to keep them from getting to a rally and you can't jam a Republican radio station to keep people from listening to it.
A lot of people seem to forget that you can't say "free speech" but then ignore the fact that you actually have to allow speech you do not like in the public space. The flag isn't a holy object (which is why I prefer to say "destroy a flag", not "desecrate") nor a metaphor for a human body. It represents the US government, quite literally, with all of the symbols on it standing for 63 government bodies.
You can even be super patriotic and burn a flag! You can say the government is letting everyone down and demonstrate they are burning the country down by burning the flag. There's a whole host of reasons you can burn a flag and they all make sense.
Even Penn and Teller have a patriotic skit centered around burning a flag.
The only time you shouldn't be allowed to burn or stomp a US flag is if it isn't your flag that you own. Because at that point you're forcing the owner of that flag's speech to something they don't want to say.