Hmm, hmm, hmm.. Do you want to re-check the schematics of the leonardo for me? I'm not blaming you, one can get confused seeing that there are two atmega32u4 IC's in the schematics. The reason is that the schematics are for the two different packages of the atmega32u4. Meaning that you can use the schematic with either the AU (TQFP) package or the MU (VQFN) package [http://www.atmel.com/devices/atmega32u4.aspx
].. The leonardo is a fully one uC board (meaning that one
atmega32u4 is used both for the programming (USB) and running the sketch...
The DUE is a bit more complicated, it's true that the atsam3x8e has USB and can be programmed through the native usb port without the need for a second uC. The reason for the use of the second uC is the "erasing before flashing". If you program the board through the native port then a "software" erase will be performed before the actual flashing. In some cases the software erase will fail which in turn can have many consequences.. By using the second uC, a hardware erase is triggered before flashing.. Which is clearly more secure/robust than the software one..