The answers are completely in the documentation you copy pasted.
“GetServerTimeNow is less precise than os.clock”.
Use os.clock() instead as @sie said.
workspace:GetServerTimeNow() returns the unix timestamp according to the server’s time, it’s intended to be used from the client to keep in sync with the server, and the inaccuracies between studio sessions you’re seeing is likely because either you or your friend’s system clock is off (or both) – you might want to resynchronize that in your system’s time settings.
This shouldn’t be an issue in live servers as the datacenters should be maintained.
os.clock() returns the number of seconds since an arbitrary baseline, useful for keeping track of time on the same machine with high precision, not so much for synchronizing between servers or clients though.
os.time() is superceded by the DateTime API, use of the latter is recommended.
os.clock() returns the number of seconds since an arbitrary baseline, it does not return a unix timestamp. It’s useful for high precision timekeeping like benchmarks.