Forward worked, backward worked. but consecutively, they don’t work.
oscilloscoped the clock line. didn’t see anything useful, just a vibrating line at 0.3V. Added some delays in the clock line and now the oscilloscope picked up the correct clock line.

started commenting out section by section until I narrowed down the issue to analogWrite(M1_PWM, 255)
apparently, M1_PWM on D11, actually affects and disables my latch pin on D12 for some reason. Looked online, and apparently, some peripheral issues can occur with specific pins when you set them to analog mode.
I switched it to digitalWrite(M1_PWM, HIGH) , and it worked. also switched the analog write to another pin that wasn’t near any used pins and could do PWM’s and it worked.
Takeaway: schematics are guides, not guarantees. Always validate with real signals.