Using categories with pages

As you have stated, pages aren’t meant to have categories. I would rather look into custom post types and taxonomies, but the implementation is still up to you as I don’t know your structures

I have never tried this before, neither do I know if this will actually work, but you can try the pre_get_posts action to amend the main query to display pages on your category.php template

add_action( 'pre_get_posts', function ( $query ) {
    if ( !is_admin() && $query->is_category() && $query->is_main_query() ) {
        $query->set( 'post_type', array( 'post', 'page' ) );
    }
});