Personally, an electrical contractor suggesting sub-panels is smart.
I am not from the west coast, but every home I ever worked on, I always suggested a sub-panel near the kitchen and one on every level of the home.
In my area, most homes and I am dating my age here, normally have a mud room entry with the washer dryer and that was normally off the kitchen and the garage. The sub-panel for the kitchen was located normally behind the open door in the mud room, which leads into the kitchen or hallway.
The second floor the sub-panel was located behind the open door to the master bedroom, hence close the door and the sub-panel was there, you can hang a picture over it. Things have changed and I am not sure if that location is allowed anymore. But sub-panels are not that large and nothing a picture can't hide once the inspectors are gone.
All homes in my area I have worked on have basements and the main panel is normally either in the basement or in the garage at the closest corner of the home to the utility entry.
And that west coast thing of the panel on the exterior of the home, who wants to have to go outside in the rain the onetime something trips in a storm.
A properly wired home with quality products should not have breakers and switches that hum.... except for those motor/fan controls, and well I don't have any because I can't stand the hum either.
So no, a sub-panel is not required, but in my opinion is smart, and I would give the EC points for suggesting it, not hold it against them.
As to doing the work yourself, if you work for a firm or company where you have steady income and lots of time off, go for it, you sound like you have enough A.D.D. in you to make sure everything is done correctly.
I on the other hand work for myself, and though I do my own renovation work now, when I had a more hectic schedule it was cheaper to pay the EC, even though I knew it was a lot cheaper to do it myself, because my time doing what I do every day for a living made me more income than anything I would come close to saving.
But as to the OP, personally the sub-panel IMO is a smart thing, though not required by code.