Age is a proxy for money. You want to set the price for optimum profit (assuming the rail company isn’t controlled by the government and implements social measures), so you want to charge every group of people the amount where (number of costumers)*(profit per customer) is maximized. If you would price every group the same fare, some people wouldn’t get a ticket and you would lose customers. It makes sense to charge those users less, but try to keep the profit of other groups higher by not reducing their fare.
If they want to go that way, why even use a proxy? Just demand annual income instead of age, and make the price a fixed fraction of the income.