Why? This is one of the 'givens' that I just don't understand.Yes, I agree. Cross-subsidisation is a vital aspect of funding the railway network which goes back to pre-nationalisation times.
If a particular rail service is seen as socially necessary it should be funded by society - ie direct and specific grant funding from the taxpayer. It shouldn't be funded by passengers on other services. That just makes all of rail look like a basket case and is price gouging the customers on the popular routes.
Rail fans obviously support cross subsidisation as it hides the grotesque subsidies some services get, and making public their cost would bring perfectly reasonable questions about what the taxpayer is paying for and whether there is a better way.