Adsense impression doesn't mean page impression of your site, but impression of the ads. in 1 page impression of your site might have a maximum of 3 impression of the adsense ads. Say for example, in a page of your site, it has 3 adsense ads, thus if a visitor made an impression of that site and all the 3 adsense ads show then adsense produce 3 adsense impression too
Adsense page impressions are pages. If you select advance reports you can show stats for individual ad units which could be 2 or more per "page". The reason your stat counter "pages" doesn't match your adsense "pages" is adsense only counts pages for when ads are loaded, which requires javascript. If someone has javascript turned off they won't see ads, yet they are probably counted as a "page hit" by your stats counter (unless it is also javascript). Also bots don't normally use javascript so those won't show up in your adsense stats but would probably show up in your other webstats.
Are you getting a lot of traffic by spiders/bots? I get about twice the traffic results via log file analysis versus adsense or analytics stats (which also uses javascript). People can also block adsense, so those hits wouldn't show up either.
also link units dont show up in your adsense stats unless they click on something after the link unit click...