Archive pagination – second page shows exactly the same posts

Put this code

 <div class="row">
        <div class="col-md-8 col-md-offset-2">

        <?php
            $args = array( 
                'posts_per_page' => 3,
                'post_type' => 'work',
                'paged' => get_query_var('paged') ? get_query_var('paged') : 1
            );

            $myposts = new WP_Query($args);
        ?>



            <?php single_term_title(); ?>
                <?php if ( $myposts->have_posts() ) : ?>

                    <?php while ( $myposts->have_posts() ) : $myposts->the_post(); ?>

                        <?php get_template_part( 'content', get_post_format() );?>

                    <?php endwhile; wp_reset_postdata();?>

                <?php endif; ?>
  </div>
</div>
<div class="marg--bottom-l text--center">
                <?php if (($myposts->max_num_pages) > 1) { ?>

                    <nav class="custom-pagination">
                        <?php echo pagination($myposts); ?>
                    </nav>

                <?php } ?>
            </div>

And After this put below code in function.php file

function custom_posts_per_page( $query ) {

if ( $query->is_archive('project') ) {
    set_query_var('posts_per_page', 1);
}
}
add_action( 'pre_get_posts', 'custom_posts_per_page' );

Hope this will help you..