Transition from Draft to Scheduled Post with wp_update_post

Try adding edit_date => true to your bmt_post array, like so:

$bmt_post = array(
    'ID'            => $post_id,
    'post_title'    => wp_strip_all_tags( $title ),
    'post_content'  => $information,
    'post_status'   => $post_status,
    'post_category' => array( $cat_ids ),
    'post_date' => $post_date,
    'edit_date' => true
);

If you look at the function wp_update_post found here: scheduling posts with wp_update_post you can see that scheduling won’t work without this parameter being set

Hopefully this solves your issue?