the problem I think is “any change” never returns true. It broke a while back if my memory serves me corretly but please test with a simpler workflow against “any change” and see if it fires. From memory I’m pretty sure its broken.
You don’t need any date conditon (based on what you’ve setup) if you remove it and have repeated runs on, it will run every time the record saves regardless of the date.
Ideally, you’re right, if “any change” worked you would want to run it only on any change. It really only needs to run if that field changes. One of these days I’m going to try and dive into that one and figure out why its not returning true.