I'm a bit like that. Not that bad, but still.
It is really hard for me to be on time. And If I really try to be somewhere early, it doesn't help, as I just do something interesting at the location in that spare time and ...
I'm not proud of it, just aware.
The worst is when it is combined with anxiously early types. So meeting someone "between 5 an 5:30" end with me being there in 5:31, them waiting since 4:45 and annoyed.
Yes, I can be on time in very special circumstances (flights), but it takes absurd energy to happen, so I don't do that for appointments, job interview or school exams, it isn't worth it, I am typically there just in time and things often start a but late anyway.
What I'm doing whenever possible with friends is planning meetings closer to the other person's location, so they would leave for the meeting only after I confirm I am on the way. It actually makes me more predictable (not sure how that works) and the whole situation less annoying for anyone.
No good advice on "how to deal with my lot" here, just sharing the observation that planning things in a way that time precision matters less leads to me being more precise.