I believe it's usually GPS/GNS (they all receive the time via GPS independently, and flash at predetermined times). The FAA requires synchronization for many classes of obstruction because it makes it clear that you're looking at obstruction lights rather than e.g. brake lights or traffic lights on the ground.
Could they also use power grid sync? Not sure as I haven't talked to anyone in wind power, but grid sync would be pretty close to 1 Hz at least in the US.
Building a product that would sync at 1 Hz via GPS that works in the US and other countries with 50 Hz power would be a little easier than syncing to grid phase though.
You can have each tower derive a perfectly stable 1Hz signal from the mains, but you have no way to synchronize those signals. Each tower's 'tick' starts at a random point in the 60Hz cycle.
You need an external, dedicated channel for this. You either synchronize with signals sent between towers or with a global signal from somewhere else (space). GPS broadcasts atomic time references for free, so everyone just uses that
Definitely GPS. Other methods have been used in the past--I remember reading operating reports from a wind farm nearly 20 years ago that slowly brought all its lights in line with each other over several months--but these days you can buy mainstream lighting with the GNSS receiver built in from a number of suppliers. They make it easy.
For wind farm use most also have an external input for ADLS triggers, though that usually also requires a separate controller and communications connection to manage the ADLS signals.
The flashing red lights are L-864 type. The requirements are 20 to 40 flashes per minute (FPM), and typically 30 FPM is used.
You'd probably have better timekeeping from a reasonably connected Pi with a common NTP daemon (take your pick, some are easier to configure / query), and a realtime-ish thread to emit your PPS signal on a GPIO or similar.
Probably more robust than line of sight, and able to pool with other NTP servers in your home-lab (and beyond).