It's not exactly clear what you're trying to do, but I think you want to start the vac and start the stepper, then 4 seconds later stop the vac. The 4 second delay forces the rest of your code to wait (doing nothing) during the 4 seconds.
Look at the Arduino IDE example program, BlinkWithoutDelay. The technique used there is what you need to use instead of delays, to allow your program to manage multiple things at once. This technique is called non-blocking; any time part of your program waits for something to happen blocks the code from doing anything else until that 'something' completes.
Search for non-blocking programming to read more. There are plenty of articles on the web, including in Arduino Stack Exchange that discuss that.
Update (following your 2021-05-05, 20:48Z update):
Here is an answer I wrote to similar question in which I wrote about non-blocking programming in more detail. The short answer is that you can't use delay() when you need to monitor or control several things simultaneously. Delays keep anything else from happening until they expire which is what is keeping your stepper from advancing as you intended. You need to do something like:
if the tool is running,
; // do nothing
else,
save the time; // this is the tool-stopped time
move the stepper; // I assume the stepper completes in < 4s
end
if the tool is stopped and the vac is running,
if (current_time - saved_time) >= 4000,
stop the vac;
end;
end;
// and let loop() keep running
Notice that this never waits for the tool or the fan. It just checks quickly and often, whether something needs to be done; if so, it does it; and in any case it continues on.
Because this is in your loop function, this code runs over and over again, so eventually, when 4 seconds has passed (in the case of the vac), the vac will get stopped, but meanwhile, the stepper has been able to run and any other small tasks needing doing will have an opportunity. The important point is, your code never hangs around waiting for anything to happen; it just very rapidly checks everything that could need to be {started, stopped, accelerated, ...}, if/when something is ready to be done, it does it, but it moves on immediately, in either case.