Whistleblower laws being broken are difficult to prove and people don't want to lose/risk their jobs only to try to fight them in the courts for 1-2 years or longer with money they don't have. Unions help employees from being fired in the first place and are much more effective at helping employees feel empowered to speak up. 

The GOP does not want empowered public employees which is why they're trying so hard to break unions. They want employees afraid to speak up while corporate interests fill the ranks and unethical behavior runs unchecked.