It's (probably) because you've used separate bools for the directions instead of one variable. So when you press Down then Up, they are both true because there's no logic to set the other one to false. You should use a single string variable for the direction and set it to Up, Down, Left or Right.