Soweit ich das sehe, ist void brake() die einzige Stelle an der gegebene Fahrbefehle zurückgenommen werden.
Versuche doch einmal den Code wie unten anzupassen.
Da wird jeweils alle 4 Pins definiert. Damit werden vorhergehende Anweisungen auch zurückgenommen.

Code:
void driveForward()
{
  analogWrite(motor1,200);
  analogWrite(motor2,0);
  analogWrite(motor3,0);
  analogWrite(motor4,223);
}

void driveBackward()
{
  analogWrite(motor1,0);
  analogWrite(motor2,200);
  analogWrite(motor3,223);
  analogWrite(motor4,0);
}

void turnLeft()
{
  analogWrite(motor1,0);
  analogWrite(motor2,0);
  analogWrite(motor3,0);
  analogWrite(motor4,200);
}
void turnRight()
{
  
  analogWrite(motor1,200);
  analogWrite(motor2,0);
  analogWrite(motor3,0);
  analogWrite(motor4,0);
}