This is difficult to explain succinctly, but biochemical processes can set up periodic events with a fair amount of accuracy. For instance, your heart beats roughly once a second when in a resting state.
Some of these processes use physical latency to time the events: if the fireflies were roughly of the same maturity, they would be of similar size and thus have clocks of similar duration.
I imagine if they started at wildly different speeds it would still converge but the convergence would take longer.
I understand advancing your clock to synchronize flashes, but doesn't this presuppose that the clocks run at the same speed?
When I turned on "Show Clocks" in the simulation it indeed looked like the clocks ran at identical durations. Seems like this would be difficult in nature.