Clock having time dilation

olf2012:
Think about what your sketch does: It waits 1 second using the delay() function. THEN it begins calculating the seconds, minutes, hours etc. numbers. This also takes some time. Only when all calculations are done and sent to the LCD then the next delay() is called.

Yes, that's what's going on.

By doing the math, it seems that the code is going through the loop once every 1026 milliseconds.
The "lazy" way to fix this would be shorten the delay time by 26 milliseconds: use delay(974) instead of delay(1000). Crude, but perhaps good enough for a hobby project.

A less lazy way to fix it would be to use a different way of keeping time, several of which are mentioned here:
https://forum.arduino.cc/index.php?topic=355887.0