But the contract itself is also sold by a monopolist. The sandwiches have to pay for rent somehow.
In the end you can extract X amount of money from all the passengers and that gets split between the landlord and the vendor.
So it's not just that the vendor has a monopoly, if they didn't have a monopoly there would still be some amount they'd pay in rent for the captive audience.