Maintaining a separate posts page for certain categories and don’t show those on home page

The best way would be to just add a cats category and filter those out from the home page using the pre_get_posts filter.

function kill_kittens( $query ) {
    if ( $query->is_home ) {
        $query->set( 'cat', '-23' ); //assumes the cats category id is 23
    }
}
add_action( 'pre_get_posts', 'kill_kittens' );

For your cats page you could create a custom category archive template or just create a custom page and a simple template the queries all the posts in cats category.

<?php
/**
 * Template Name: kitties
 */

get_header(); ?>

<div id="kittens">
<?php $kitty_query = new WP_Query( 'cat' => 23 ); //assuming again cat category id is 23

while ( $kitty_query->have_posts() ) : $kitty_query->the_post();

//do stuff

endwhile;

wp_reset_postdata(); ?>

</div>

<?php get_sidebar();
      get_footer();