Because the age of 18 ONLY counts for being an independent adult with "legal capacity" - that is,you can enter contracts and be sued. You can have sex at 16, you can drive a car at 17, you can only drive the biggest lorries at 21 - there are different ages for different things. If bus and rail companies want to have their own definition of when you need to pay full fare, they're perfectly entitled to.
And clearly they do. Amongst other things, you're occupying a whole seat, so ideally they'd like to charge full fare at a younger age. But that would maybe make travel too expensive for families and wouldn't be popular. So they compromise and there's an argument for 16 - you could be earning then and paying your own way. Some companies set it younger.