Where do I put my create_new_table function()?

The code you are currently using for being used as a plugin. register_activation_hook is reserved for plugin use only. It only fires when plugin in activated. If you want to create database table from your theme you can use after_switch_theme. It can be used like bellow:

add_action("after_switch_theme", "mental_health_providers_create_db");
function mental_health_providers_create_db() {
    global $wpdb;
    $charset_collate = $wpdb->get_charset_collate();
    require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );

    //* Create the table
    $table_name = $wpdb->prefix . 'mental_health_providers';
    $sql = "CREATE TABLE $table_name (
    provider_id INTEGER NOT NULL AUTO_INCREMENT,
    provider_name TEXT NOT NULL,
    provider_city TEXT NOT NULL,
    provider_phone TEXT NOT NULL,
    PRIMARY KEY (provider_id)
    ) $charset_collate;";
    dbDelta( $sql );
}

Again I’ll suggest you to write a simple plugin to handle the database creation part. Read here on how to write a simple plugin