the author's point is valid and we're falling into pedantry
Those cars didn’t have time to stop safely. They would have had to slam on the breaks, which is very dangerous because the car behind you might not stop in time. Speeding up to get through in time is the right decision if you are very close to the intersection when the light turns yellow.
(v²) / (2a) ≤ (v × t_y) + L
v = vehicle speed (meters per second)
a = comfortable deceleration rate (meters per second squared)
t_y = yellow light duration (seconds)
L = length of the intersection (meters)
You can calculate the minimum yellow time for this using t_y ≥ (v / 2a) - (L / v)
This is rudimentary and doesn't account for reaction time, but a simple buffer would suffice.
The failure is largely in poor planning and poor human behavior.