This is because your workflow is running when the page is loaded and at no other time.
Since you already have a workflow that runs every second, you could put a custom state on the page that’s a date, call it Page Load Time, replace the current workflow on the Page Load to set that custom State as Current Date Time, and on your other 1 second workflow set it to go to a different page If Current Date Time > Page Load Time?
There might be a better way but that’s the first thing I could think of off the top of my head.
However, I am still quite puzzled on the event not triggering. I have other such workflows that trigger when the condition is met and they trigger any time, not just on page load. So I wonder why this one doesn’t behave the same.