He panders to the teachers Union for the votes. Vouchers help low income families the most because it allows them to send their kids to better schools. They don't have to put up with the inequality of most urban school systems.
From CBS News:
In an address to the National Urban League, John McCain employed the same line of attack on Barack Obama that he used when he spoke to the NAACP a couple of weeks ago, saying of the Democrat's education policies, "his ideas are not as impressive as his rhetoric."
“In remarks to the American Federation of Teachers last month, Sen. Obama dismissed public support for private school vouchers for low-income Americans as ‘tired rhetoric about vouchers and school choice.’ All of that went over well with the teachers union, but where does it leave families and their children who are stuck in failing schools?” McCain asked. “If Sen. Obama continues to defer to the teachers unions, instead of committing to real reform, then he should start looking for new slogans.”