I just made an account to say this is utter BS. If someone provides a service that costs them money to run, they have the right to make money off of it. If you don't agree don't use their service. Whatever. Or block ads and donate to the service. Just don't be a freeloader.
No, they don't, because they're marketing their service to users under the false pretense that it's "free" thereby explicitly associating it with "costs zero money" while in reality it does cost money that they do charge, only someone else in some other way.
Consumers have the right and ability to completely destroy this business model and should exercise it, sooner the better. Most companies compete by stating prices on products, it's absurd that a select few get to state prices in long ToS and/or privacy policies that we know nobody reads.
It doesn't matter one bit if it's a mom-and-pop store or a tech giant that goes out of business because people are fed up with tracking, malware, and advertising.
If companies don't want to offer stuff for free, they should probably stop doing it. Put their website behind a paywall. You can't have it both ways, complaining about non-paying visitors when you didn't try to charge them.