The license also says that the software comes with "no warranty of any kind" but companies still tend to pressure maintainers to do unpaid work on their behalf to fix issues or otherwise maintain maintain the project in a way that is convenient for them.
In GP's analogy, this would be like the reseller coming back and asking you to start making gluten free varieties, using a particular kind of flour, or improving the QA of the cookie shaping process to meet their customer demands. It is beyond reasonable to say "I'm willing to do it for a fee" (or even just "no") at that point. (I also think it's reasonable to say that the reseller should give something back even if they are not legally required to do so. Not all social norms are codified in legal contracts.)
The example in TFA of Heroku wanting an older release branch to continue being maintained for free falls under that umbrella -- just as you are free to do whatever you want with the source code, as a maintainer I am also free to say that extra work will cost extra. In that situation, Heroku can either pay one of their own engineers to continue maintaining old release branches and working around issues, or they can pay the upstream maintainer to do that work.
IMHO the "gatekeeping" model is the only funding model that has actually ever worked for open source software -- it's how RedHat, SUSE, and many other open source companies make their money. (I work for SUSE, but also maintain a fair number of open source projects.)