Custom post types loop on a page template

I’m not sure this is possible. Why do you need a page template? Why can’t you use a custom post type archive, which is built-in to WordPress ( if you register the post type with has_archive set to true). I’m ignoring all your other possible $args, because I don’t know how you are registering this post type.

register_post_type( 'events', array( 'has_archive' => true ) );

Then you can just adjust the query to order by the meta

add_action('pre_get_posts', 'events');
function events($query) {
  if ( is_post_type_archive('events' ) ){
    add_query_var( 'meta_key', 'start' );
    add_query_var( 'orderby', 'meta_value_num' );        
    add_query_var( 'order', 'DESC' );
    add_query_var('numberposts', 5); 
  }
}