It uses commodity hardware. Also, Spanner doesn't really need the atomic clocks, they just help performance. CockroachDB, which is similar, runs fine on commodity hardware.
https://www.yugabyte.com/wp-content/uploads/2021/05/Distribu...
From Jepsen - "yugabyte seems mostly resilient to clock skews' - this is a very safe but at the same time a vague statement. What does mostly mean ? Good for 99% of practical use cases ?
Edit: To address the first part of your comment, the atomic clocks narrow the bounds on how bad your NTP clock can be. Spanner essentially waits out the bounds on clock variance on each write transaction to get consistency. There still would be a measurable bound on your clock precision without the atomic clock, but it would be a lot larger.