Enable the category taxonomy for your custom post type, or enable it for the default page post type:
function wpa_cats_for_pages(){
register_taxonomy_for_object_type( 'category', 'page' );
}
add_action( 'init', 'wpa_cats_for_pages' );
Then within your page template, get the category IDs assigned to the client page and create a new query which passes those IDs:
// get IDs of categories assigned to this client page
$categories = wp_get_object_terms( $post->ID, 'category', array( 'fields' => 'ids' ) );
// query for posts with categories that match those assigned to this page
$args = array(
'posts_per_page' => -1, // get all matching posts
'category__in' => $categories
);
$client_posts = new WP_Query( $args );
// output post data
while( $client_posts->have_posts() ):
$client_posts->the_post();
the_title();
endwhile;
// reset the global $post object so template tags for this page work as expected
wp_reset_postdata();
Then for each client page, you’ll just select the categories of posts you want displayed on that page, the same way you assign categories to the posts.