О, я сталкивался с этой проблемой!
Скажу даже больше, я только недавно смог отучить себя от этой привычки.
Лично у меня это связано с тем, что я всегда стараюсь избегать создавать разной степени неудобства для людей с которыми общаюсь или встречаюсь по работе.
При этом я всегда придумывал для себя какие-то нелепости перед выходом... А вдруг я выйду за 10 минут (при том, что сама дорога займет 5 минут) и меня обрызгает машина? Придется бежать домой и я точно опоздаю на встречу! Выйду-ка я пораньше.
В итоге когда мне надоело так глупо терять время, я стал следовать простому правилу : прихожу за 5 минут до оговорённого времени и жду 10 минут. После этого ухожу. Это правило помогло мне не только приходить во время, но и приучить своих знакомых не опаздывать.
И самое главное - возьмите за привычку уведомлять людей о вашем опоздании.