You never change isGoingRight or isGoingLeft in bounce wall
That's because there's no right or left wall
@OP Using booleans to represent the direction of the ball, and then translating it to x & y seems really clunky. Instead (since you are using LibGDx), use a Vector2 to represents the ball direction. When a ball hits either the top or bottom wall, just invert the y component of the vector. Really, now that I think about it, just use an dx and dy value to represent the velocity if you don't want to use vectors.