I can explain most of it with this table. There were 45,657,000 people without insurance in the 2007 Census estimate. 12,388,000 of those were foreign born, and 9,737,000 were not citizens, leaving 33,269,000. I assume Obama is leaving room to ensure that no one can claim that he is going to cover illegal immigrants (or for that matter, legal ones). But that still leaves 3 million people unaccounted for.
This article available online at:
http://www.theatlantic.com/business/archive/2009/09/why-has-obama-downgraded-the-number-of-uninsured/24764/