One way to fix the logic so it works for both (-) and (+) values would be to use the absolute value of vertical_speed.

if (ABS(vertical_speed) <10 )
angle =
else if (ABS(vertical_speed) <20)
angle =
else
angle =