Why is that reasonable? Storefronts don’t get free keys from Steam, they have to buy them. After they pay Steam, they should be allowed to sell them at any price they want.
Imagine if Ford said you couldn’t sell your car for less than what Ford dealers charge for used cars.
Because those other retailers already paid Steam for those keys.
If Steam doesn’t want to compete against third party key retailers then the solution is not to sell keys to third party retailers. Once Steam takes their money, they have to accept the competition.