Because you want only one popup to show up, then you need to have the warning ones have a check to see if the warning one has already pop-up and return true if a message has already been shown, you can do this by adding the validation rule as a subrule in message one.
Do don't need to do this for error because if a error one pop-ups up you can't pass the transaction until it is fixed.