As a workaround for Windows Server 2008 R2 you can try to use RealTimeIsUniversal registry key, as it was suggested in the comment section by @Michael Hampton, if you're facing same issue.

Newer versions of Windows Server contains improvements 1 2 that give a more accurate system clock with NTP, and make it more accurate when running in a VM.

Also, please have a look at the documentation Set up network time protocol (NTP) for instances section Configure NTP for your instances:

Google can’t predict how external NTP services, such as pool.ntp.org, will handle the leap second. If at all possible, it is recommended that you do not use external NTP sources with Compute Engine virtual machines. Even worse, using both Google's NTP service and an external service can result in unpredictable changes in the system time. Using only a single external NTP source is preferable to using a mix, but external NTP services, such as pool.ntp.org, will likely use stepping to handle the leap second. As a result, your virtual machines may see a repeated timestamp.

You can check current configuration on your Windows VM with PowerShell command:

w32tm /query /configuration

If you see a single record pointing at metadata.google or metadata.google.internal, you do not need to make any changes. If you see multiple sources, mixed between metadata.google and a public source, you need to remove the external server.

In addition, be aware that Windows Server 2008 and Windows Server 2008 R2 are approaching the end of their support lifecycle.