Hi
You have made this problem yourself and you will soon see it but do not worry we have all made something similar.

First,
In Set initial time you load the variables, this is good. But you load them in HEX form, that is bad. Example "rtchr = $21" will not load 21 in hours but 33. That are way too many hours for an earth clock "rtchr = 21 " will put 21 in hours so delete all the $ signs to use decimal numbers for the init.

Secondly,
Main loop Do not use the LCD command with HEX2 because this will make PBP to use HEX on the display and that is you main problem. Change the HEX2 to DEC2 and you will see a difference.

Good luck.