And yes, the GPL places very specific terms under which you're allowed to distribute binary packages of the code. You have to include source code, you have to keep the same license terms intact (share alike)... no one who distributes a GPL-licensed code, either in binary or source form, has any right to dictate to anyone else what they are allowed to do with the code or how they're allowed to use it. That is exactly what the GPL license is meant to prevent, it's meant to provide the four freedoms equally to everyone: to use, examine, modify and distribute the software, without any restrictions apart from those outlined in the GPL license, which are designed only to ensure that no one can take those rights away from you.
It is fine to charge money for binaries. That's not the problem here. Again, Canonical is not asking for money to cover their hosting expenses, nor are they asking money to cover the cost of building/maintaining the packages. They are telling Mint that Mint has to accept Canonical's license terms in order to use binaries used by Canonical, they're trying to dictate how others can use open source (probably most of it GPL-licensed) code, in order to restrict their competition. They want to prevent Mint from competing for the same OEM deals. That is a page from the book of microsoft - it's anticompetitive and flies entirely against the spirit of FOSS.