Because they have different designs and architectures.
Usually newer gen cards have lower power consumption than the older ones,and GTX 460 has a lower power consumption compared to 2 cards of which are 2 generations older.
You are incorrect. The GTX 460 uses more power than the 9600GT, under load at least.
The 9600GT uses about 75w during normal gaming while GTX 460 uses about 120w.
Because of its overall new architecture and design AFAIK.
You will see pretty much the same results if you compare HD 5xxx cards with 4xxx cards, for example HD 5870 performs like 2 4870s but has less power consumption and its quieter too.
The TDP should be the max power the card will use at stock speeds under stress testing which will push the card further than it will ever go during normal gaming. Nvidia lists the the TDP of the 9600GT as 96w and the GTX 460 as 160w.