page template as a custom post type archive page

You can give people an actual Page to edit, and the permalinks you want, by setting up a rewrite when you create the CPT.

Note: you will need to replace all instances of ‘mycpt’ with your actual CPT slug.

<?php
function wpse_360965_register_cpt() {
    // First unregister this post type so we're starting from scratch
    unregister_post_type( 'mycpt' );
    $args = array(
        // Set the CPT to not have an actual Archive
        'has_archive' => false,
        // Set a Rewrite so permalinks still fall under the URL you desire
        'rewrite' => array( 'slug' => 'mycpt' ),
        // Add your other arguments here too
    );
    register_post_type( 'mycpt' , $args );
}
add_action( 'init' , 'wpse_360965_register_cpt' );
?>

What this does is ensure that WP does not create an actual Archive – this makes it possible to create a Page instead. The rewrite ensures that individual CPTs will be published in a way that looks like they are “children” of that Page, even though they’re not.

After this is run once, you can remove the unregister_post_type() line.

From here, you’ll create the page-mycpt.php (again replacing the slug) template. Your needs will determine whether you need a custom Loop, or just the regular content as provided by your editor.

Finally, breadcrumbs will depend on what you’re using to generate the breadcrumbs. If you are using Yoast WP SEO, you’ll likely need to use filters to get the breadcrumbs to look right. For example:

<?php
function wpse_360965_filter_yoast_breadcrumbs( $links ) {
    // Only affect individual "mycpt" CPTs
    if ( is_singular( 'mycpt' ) ) {
        // Add "My CPT" breadcrumb
        $addedBreadcrumbs = array(
            array( 'text' => 'My CPT', 'url' => '/mycpt/', 'allow_html' => 1)
        );
        // Add the new breadcrumb before the single CPT title
        array_splice( $links, 1, 0, $addedBreadcrumbs );
    }
    // Always return the links, even if we didn't change them
    return $links;
}
add_filter( 'wpseo_breadcrumb_links', 'wpse_360965_filter_yoast_breadcrumbs' );
?>

(Once again, replace the ‘My CPT’ text and ‘/mycpt/’ URL as needed.)