I mean, its only because the company let's them isn't it? The NBA, and pretty much every company, has could totally ignore China telling them what to do, but they would rather take the money.
I think that's a false equivalence, China has no power telling you what to do and you know it. And any customer would have the power to not buy your product and its their right.
You can say whatever you want, but they might not want to throw money at you if you start shit talking their regime and it's values. Is that not free speech?