I don't know anything about that Scheduler library. I am generally suspicious that things like waste CPU cycles doing something that could just as easily be done using millis() as illustrated in Several Things at a Time
That said, it seems to me that you have your code organised backwards. I would schedule the scale readings because they don't need to be done nearly as often as you need the stepper to step.
And look at the AccelStepper library - it is designed to run in the background.
Finally, an L298 is a poor choice for driving a stepper motor. If you use a specialized stepper driver that takes step and direction signals it removes a lot of calculation from the Arduino.
...R
Stepper Motor Basics