Inverting motor's rotation
I think the main problem is, that you use the "Motor on for # degrees". The program will wait until this command is executed (i.e. the required turn is made), and this can take quite long. The next measurement of the angle difference is taken after that. Having a high start deviation and/or fast turning rates of your reference motor, you will not get a stable result.
Instead I propose to use the angle difference for the "Power" input of the "Motor on" command. In that scenario the angle difference is measured very often, and the "slave" motor is following your "master" motor very pecisely.