These are not mutually exclusive options, both are perfectly possible with a bit of planning about how you run your life.
If your work means there's a fair chance that you might be needed to assist people due to a late train, then leave a little buffer time after your shift before you make other commitments.
A lot of employees do indeed do this, but I'll remind you that this is far from your original objection which was about Sundays and whole driver turns going uncovered. The whole "station staff should stay five minutes more to help with one late train" has come from nowhere as if this does not routinely happen and staff are selfish.
The nature of the railway means that staying for just a short period to assist customers is very rare. The railway either runs okay or it is in meltdown, and overtime in my experience was often staying for many hours helping with customer enquiries because Birmingham New Street was closed or some other disaster. In my 20s I did plenty of this overtime to earn money to buy a house, often putting in 70-80 hour weeks, but I am nearly 40 now with a wife and kid, and to be honest I would be doing that sort of thing much less often now.
Employers could insist on factoring in a spare hour after your shift and provide rewards accordingly.
But maybe the employer/employee world in railways has become too adversarial to make that work. Selfishness seems to rule on both sides.
The world just doesn't work this way any more. You're shouting at clouds; people have got other stuff in their life, men in particular now frequently have critical childcare responsibilities, and to be honest I think people should also be able to expect to do nice or worthwhile things in their life after their shift finishes. Like
@signed says the idea of work life balance has become increasingly important and whether this is generally true, or whether it is a function of just getting older and having more responsibilities I could not say personally.
What's it worth? Let's imagine I'm in the same railway job I was in ten years ago. It's 4pm and the end of my shift in Birmingham, and the late evening turn is uncovered. I get asked to stay until 8pm because Leeds is up the spout due to total signal failure and the line between Bristol and Cheltenham has a trespasser. Thousands need help. The answer as to whether I would stay is different depending on whether I:
- need to pick up my daughter in an hour (and it's my job because like many families, my wife works full time too)
- have an anniversary dinner booked with my wife at 7pm and we both need to go home and get ready
- am meeting a friend I meet every week after work for a pint
- am driving down to Milton Keynes to take my dad to watch an evening game, something which is important to us both and which he can no longer do on his own
- have committed to giving my cousin a lift to Birmingham Airport
- want to stay at home and play a new computer game
- have committed to volunteer driving food parcels for the food bank
- have literally no plans at all.
If I go home and refuse the overtime I'm sure I would just be selfish regardless of the reason. FWIW it was almost never necessary for me to stay for an extra 15-30 minutes - it was either for a long time - sometimes a whole shift, meaning I did a 14 hour day (£££) - or not at all.
It is never selfish to simply turn up, do a good job, and go home at the contracted time. (And, note - unlike my old job, many grades on the railway don't really get the luxury of choice about some overtime, especially traincrew who could be stuck on a train)