Benedict Arnold was a war hero too.
Benedict Arnold was a military traitor. McCain was not. Big difference.