When you are triggering a 1 action, your code is actively doing something that requires the MCU to manage each pulse… stepper1.moveTo()
Again, I believe it all has to do with timing. Blynk has somewhat critical timing as it is in constant communication with the server. Also longer pings to and from server vs. just the phone, at least with WiFi, much less so I believe when using BT/BLE as somewhat confirmed in your testing, but then there are other limitations as well.
Stepper control is very timing constrained, particularly when the MCU is literally controlling each and every pulse. In the past I experimented with using Blynk with stepper control, but over a separate MCU for the stepper. Basically the same idea as many dedicated stepper controllers that just take the instructions and handle all the micromanagment work (pulses) within themselves.