The closest location is probably Marina di Cecina. Spent several summers there in my adolescent years, but nothing to write home about. Better beaches within 2 hours from San Gimignano are probably at the Gulf of Baratti, probably the only spot worth snorkeling.
Marina di Bibbona is also popular. Just south of Cecina, near La California. Sandy beaches like Cecina, but not as nice of Baratti, further to the south.
More to the north there is Castiglioncello and Quercianella. Both have cliffy coasts, so good for some snorkeling.
Tuscany's greatest spots are more to the south, on Monte Argentario peninsula in the Maremma area. However from San Gimignano we are talking at least 3 hours each way.