Those ashshell.dll items are not really starting - that's a registration for context menu (i.e. the DLL is loaded once you open such a menu somewhere).
As for the rest - yes, I believe it's needed. The number of drivers doesn't really mean anything... we could probably merge them into a small number of bigger drivers, but that wouldn't help anything, the amount of code would be the same, just harder to maintain (and it wouldn't be modular, so you could skip the drivers on a machine where it's not needed).