I bet the reason for this is that bulk ad sales are generally more profitable than selling individual ads. Advertising companies prefer that advertisers do not become accustomed to purchasing ads on a one-off basis. Selling ads in bulk is much more lucrative for platforms like Google Ads.
It is simply easier and more profitable for these companies to sell a large volume of advertisements rather than just one ad at a time. Ultimately, there is little profit in creating a system where ad viewing is optional.
Advertisers also do not want this because a lost ad viewer could potentially become a lifelong customer. Essentially, they could lose a customer over a few cents saved or added revenue. Remember that we are the product, not the customer.
It's not like this hasn't been tried plenty of times before, it's just not economically competitive with what has become the typical ad model. For any given ad, X people will choose to watch it in exchange for $Y of discount, but just showing the ad to everyone by default gets you a much higher X for a much lower relative $Y (even after factoring in costs related to customers leaving your service over unwanted ad exposure, or population decreases from ad blocker users). Companies even tried tuning this model for better returns by replacing the ads with more valuable uses of time like filling out surveys, and it's still worse.
There's nothing fundamentally wrong with the idea, it just happens to make less money than the dominate alternative. Mostly because it's an opt-in model, and there are a lot of people who will passively put up with ads that are shoved in their face but won't actively choose to watch an ad in exchange for a bigger reward, which confuses the economists who assume people are all economically rational actors.