- Create Custom Post Type (CPT) with custom capabilities;
- add User Role for these
capabilities; - assign this Role to the users you want to be able to administer that CPT;
- create multiple metaboxes or multiple editors (e.g. one per content block) for your CPT;
- create custom template for your CPT showing metaboxes content;
- show that CPT as Front Page (See Justin Tadlock’s article how to do this).
Your users will be able to administer this CPT blocks only. And nothing else, if not stated differently. This way you don’t give them too much power.
Can’t say about Advanced Custom Fields or other plugins in conjunction with User Roles.