Wouldn’t many people voluntarily watch ads for a while (e.g., on Netflix) to receive guaranteed unique discount codes?
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.
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.