Pagination 404 errors for author posts query on author.php

There is already a query on that page. author.php is an optional template file that, if present, WordPress will use for author archives. You shouldn’t have to create another query on that page. I think that your query and the native query are colliding, at least in part because both queries will be using the same paged query var.

If you need to change something about the query, you should probably be interrupting the main query for that page instead of creating a new query.

function alter_author_wpse_84696() {
  if (!is_author()) return false;
  global $wp_query;
  $wp_query->set('posts_per_page', 10);
  $wp_query->set('order', 'ASC');
}
add_action('pre_get_posts','alter_author_wpse_84696');