The problem is that you appear to be having connectivity problems to the NTP server that was selected. Our UI is not verbose enough to make this scenario clear (which we will correct!).
First, the nomenclature of the ""show ntp"" PCLI command is misleading in that an ""active"" server just means that NTP is actively contacting the server - it doesn't mean that the server is giving good time nor that we are synchronized to it. The way to tell that a server is the synchronized clock source is that it will have the prefix ""o"" or ""*"" in front of the address. For example it would look like ""*time-c-b-nist.gov"" on your system. Additionally, if there are more than one good servers then the other candidates considered good will have the prefix ""+"" in front of the address.
Second, there is a ""Reach"" column that can be used to identify the connectivity history to a time server. It is a octal 8-bit bitmask that shows the most recent connectivity attempts to each the NTP server. In your case this is ""44"" which is a bitmask of 00100100 meaning that of the last eight attempts to contact the server only two were successful. The NTP protocol is resilient to this kind of connectivity loss but it will increase the stabilization time of the algorithm.
The NTP algorithm can take a while to stabilize under non-ideal conditions. Your system had periods of up to 30 minutes where it failed to synchronize which would be considered an extreme case. More typical timeframes are in the order of a few minutes. The best way to make this more resilient is to specify more NTP servers as they will all be included by NTP as candidates. A common best practice is to specify 4 servers.