query posts only works on the first page

As @Pieter Goosen said, you shouldn’t be using query_posts, nor running your own query. Instead, override the main query that already runs:

function wpse_144974_pre_get_posts( $wp_query ) {
    if ( ! is_admin() && $wp_query->is_main_query() && is_home() )
        $wp_query->set( 'cat', 1 );
}

add_action( 'pre_get_posts', 'wpse_144974_pre_get_posts' );