There is very interesting psychology here.
There are some disorders, OCD, dysexecutive syndrome, which truly affect people's ability to plan and be punctual.
There is severe anxiety where somebody knows they could not cope with waiting alone so will always choose to arrive when they know someone will be waiting.
There are also personality disorders, where people really are deliberately late to draw attention to themselves, get the opportunity to talk about all the incredible things which happened to make them late etc.
Whether or not you want to be friends with any of these people is up to you, but the reasons for being friends with someone or not probably has a lot more to it than just their punctuality. (We don't interview friends in a recruitment process, we just click with people on different levels and for different reasons)
In my personal experience the people I know who are the worst timekeepers are actually some of the nicest people I know, and the chances are they will be late because they have stopped to help someone, or to do something else beyond the call of duty, or they didn't want to cut somebody short. They are the sort of people you could turn to in a crisis, and they would drop everything to be there for you when you need them, because they are less 'rigid'.
So I think there can be a bit of give and take and if someone's reasons for lateness appear to be always selfish and/or attention seeking, then ok - you're fired.