The answer to your question is: Because of hyperlinks (ie, the way the web works), it's not practical to tell people "hey, you clicked on the link, you agreed to pay them via advertising". A publicly accessible page is like a public space in that way.
If a company doesn't want to offer free access to content that costs them money to produce, they can create a login system and a paywall.
If the one in the comments several levels up from this one, isn't this just a variation of the HTTP Status Code 200 argument? (which I explain why I don't support in other comments)
They can also implement ad block detection. Not every site is going to implement a paywall, they should have the option of business model and ad supported is a valid choice though I do hope more variety comes along to more sites.
If a company doesn't want to offer free access to content that costs them money to produce, they can create a login system and a paywall.