Inconsistent Running motors?

In your reverse module I would switch the order of the writes. Set one low before setting the other high. Otherwise you momentarily have both pins set high. May not be a problem, but it might solve one.