If I understand your problem then this should definitely work.
<?php
get_header();
$users = get_users( array( 'who' => 'author' ) );//get all the users with author role in an array
foreach ( $users as $user ) { //travers the array
if($user->caps['administrator']==1)continue; // skip the user if user also have administrative capabilities
$query = new WP_Query( array(
'posts_per_page'=>1,
'author' => $user->ID
)
);
if($query->have_posts()):while($query->have_posts()):$query->the_post();
get_template_part('content', 'postlist');
endwhile;
else:
get_template_part('content', 'none');
endif;
}
get_footer();
?>