Can’t seem to attach uploaded image to post and set it as thumbnail

You have a variable scope problem.

$post_id = wp_insert_post($post_information);

function upload_user_file( $file = array() ) {
      require_once( ABSPATH . 'wp-admin/includes/admin.php' );
      $file_return = wp_handle_upload( $file, array('test_form' => false ) );
      // ...

You set $post_id outside of your upload_user_file() function but that means that it is unavailable inside the function where you need it for wp_insert_attachment().

If you had debugging enabled as you should when working, you would have spotted that immediately.

Additionally, you are including a couple of core files– for example, require_once( ABSPATH . 'wp-admin/includes/admin.php' );— which nearly always indicates that you are Doing it Wrong. I have a feeling that you should be using the AJAX API instaed of, what I am guessing you are doing, loading a “handler” file directly.