How do I add custom fields to the “Edit page” admin screen?

In you code you are passsing ‘Page’ as object types.

Please update your code as follows:

$cmb = new_cmb2_box( array(
        'id'           => $prefix . 'banner_media',
        'title'        => __( 'Banner media', 'foo' ),
        'object_types' => array( 'post' , 'page' ),
        'context'      => 'advanced',
        'priority'     => 'default',
    ) );

When set object types to Post and Page both then it will be available to both post types. you can also include any custom post type as well.