Long-term answer: You can try to change the rules and the laws.
The current row over steroids is because the current use of steroids is improper. That seems very simple to me. Barry Bonds was MVP -- because he cheated. There's probably another player out there who could have surpassed Bonds, but he failed to do so, simply because he didn't cheat the way Bonds cheated.
Given the current rules and laws, steroid use comes down to cheating. And MLB suffers when players are allowed to cheat.
How did Bonds cheat? Baseball didn't have rules against what he's supposed to have done. If it's not against the rules, it's not cheating.
The problem is that Baseball didn't address this 40 years ago, and a lot of folks like owners, advertisers, vendors, fans, and players who did and didn't take steroids enjoyed the ride, especially when Baseball was recovering from the 1994 strike. A rigourous and frequent testing program for clearly banned substances should be implemented immediately, but scapegoating a few people for allegedly taking advantage of a flawed system isn't going to accomplish much.
On the other hand, the BALCO prosecutors are clearly cheating, having leaked grand jury testimony where the athletes gave up Fifth Amendment rights and representation by their attorneys. Baseball needs to be cleaned up, but so does the D.A.'s office.
Short-term answer: 'Cause the rules say you can't. Or try: 'Cause they're illegal.