But the train and bus company must charge a set amount per game
Why? Shouldn't they charge in proportion to the people they ferry around? Buses can track the number of peole with football tickets easily, just press a button (much like they used to do and may still do when someone gets on with a saver ticket, they can keep accurate numbers of football fans that get on. I imagine trains are just as easy if you give the guards one of those counters to count the fans going through with football vouchers, or thenumber of tickets exchanged for vouchers at the ticket counter.
A per person fee works for both the club and the travel companies as the club doesn't pay for people who don't use it, and the travel companies aren't ferrying more fans than they were paid to.
The flaw in that plan is the fans that figured if the drivers accepted a flash of the season ticket, that makes it ok for them to not pay for travel vouchers, thus fans were adding to the volume of bus passengers that the bus company charged the club for, without relieving the club of the full burden by buying their travel voucher.