NXT Program doesn't do what it's supposed to do
You just need to make the blocks match your pseudo code. The missing part is "Stop Motor B". Adding blocks to stop motor B will help.

Also, stop motor B needs to be before starting motor A, otherwise motor A will run while motor B is running.

If Touch1 == Bumped Then
    Stop MotorB
    Rotate MotorA by 15 degrees
Else If Touch2 == Bumped Then
    Stop MotorB
    Rotate MotorA by -15 degrees
Else
    Rotate MotorB Forever