Problems with multisite, wp_get_sites, and WP_Query

The goal is to have a list of all the sites, sorted by last name (in ASC order – a, b,c and so on), and displaying certain custom fields. The problem I’m facing is that since it’s NOT a post type, (it’s pulling from a specific profile page that is using solely custom fields) it doesn’t allow me any type of sorting. It also doesn’t recognize the limit 10.

I just feel like I’m missing something.

It DOES display the photo, first and last names, country, and bio.

<?php

$blog_list = wp_get_sites();
foreach ($blog_list as $blog) {
switch_to_blog($blog['blog_id']);
$args = array(
'post_type' =>'page',
'pagename' => 'profile',
'posts_per_page' => '10',
'order' => 'ASC',
'orderby' =>'meta_value',
'meta_key' =>'speaker_last_name',
);

$query = new WP_Query( $args );

while ($query->have_posts()) :
$query->the_post();
?>
<div class="individual">
<a href="<?php echo site_url(); ?>"><img src="<?php the_field('photo'); ?>" alt="<?php the_field('first_name'); ?> <?php the_field('last_name'); ?>" class="alignleft" /></a>
<div class="intro"><a href="<?php echo site_url(); ?>"><h2><?php the_field('first_name'); ?> <?php the_field('last_name'); ?></h2></a>
Lives in: <?php the_field('country'); ?>
<?php the_field('bio'); ?></div>
<a href="<?php echo site_url(); ?>">View this Speakers Profile</a>
<br style="clear:both" />
</div>

<?php
endwhile;
restore_current_blog();
}
wp_reset_query();
?>