Admin page for every special page
I'm not sure exactly what you mean by "custom admin pages", but to give complete control over the layout of the content you could use Panels and perhaps also Panelizer.  The Panels in-place editor is probably enough for the client's needs, but you might show them the backend editor instead because it looks (and is) far more powerful/complicated.  It may even have the benefit of scaring them away from having the control themselves and asking you to go back to your original plan.

EDIT:

Here's how I would go about this using Panels, Views, Rules, and Flag.  This may not be the most optimal way, but it uses well-supported modules.


Make a panel for the home page.
Make a flag for each section that needs to appear on the home page.
Make a view (content pane) for each section.  The view should display the most recent node tagged with the flag for that section.  Add each view to the appropriate place on the home page panel.
Add a rule that, when a node is flagged, uses the trim flag action to ensure that only one node is flagged with that flag at any given time.


If you do this, your content editors can simply flag the pages they want and they will be displayed in the appropriate sections automatically.  (I have used all these modules to do a similar thing in the past, though I have not built this exact workflow.)