This is not how it should be done
if (val_1 == LOW)
{
stepper.runSpeed(); //I want to continue this action until val_1 == hight plus a certain time delay
}
The call to runSpeed() should be in loop() and not inside any qualifying code. It should be called as often as possible. There is no need to stop calling it - when the stepper reaches its destination it won't move.
...R