Sort by last word in title

I would use a wp_query.

Place this in your functions.php:

/**
 * Order posts by the last word in the post_title.
 * Activated when orderby is 'wpse_last_word'
 */
add_filter('posts_orderby', function($orderby_sql, \WP_Query $q) {
  $orderbys = $q->get('orderby');
  if (!$orderbys) {
    return;
  }
  if ($orderby_sql) {
    $orderby_sql_array = [$orderby_sql];
  }
  else {
    $orderby_sql_array = [];
  }
  if (!is_array($orderbys)) {
    $words = explode(' ', $orderbys);
    $orderbys = [];
    foreach ($words as $word) {
      $orderbys[$word] = $q->get('order');
    }
  }
  global $wpdb;
  foreach ($orderbys as $orderby => $direction) {
    if ($orderby == 'wpse_last_word') {
      if (!$direction || !in_array(strtoupper($direction), ['ASC', 'DESC'])) {
        $direction = 'DESC';
      }
      $orderby_sql_array[] = "SUBSTRING_INDEX({$wpdb->posts}.post_title, ' ', -1) $direction";
    }
  }
  return implode(', ', $orderby_sql_array);
}, 100, 2);

now you MAY be able to do this in your category-3.php ( didn’t test it):

<?php query_posts($query_string . '&orderby=wpse_last_word&order=ASC');?>

        <?php 
                if ( have_posts() ) : while ( have_posts() ) : the_post();

                    get_template_part( 'content-clients', get_post_format() );

                endwhile; 

                 endif; ?>

but you could definitely use a wp_query and use these as your args: (add other args if needed)

$args = [
    'posts_per_page'   => 10,
    'post_type'        => 'post',
    'orderby'          => 'wpse_last_word',
    'order'            => 'ASC'
];

$the_query = new WP_Query( $args );