Tag page only display 10 posts

The problem is query_posts(). It is stomping on the default query, and killing your pagination. Don’t use query_posts(). Filter $wp_query at pre_get_posts instead:

function wpse123674_pre_get_posts( $query ) {
    // Only modify the main query on the tag archive index
    if ( $query->is_main_query && $query->is_tag() ) {
        $query->set( 'post_type', array('post, cool_tools, tribe_events') );
    }
}
add_action( 'pre_get_posts', 'wpse123674_pre_get_posts' );

This belongs in functions.php. In your template file, simply remove all references to any query modification.