Defaults are on the left, your settings are on the right. Why is your throttle_max so low - super powerful boat?
THR_MAX 100.0000 45.0000
Your steer2srv_p is far far far too low. How did you get these values for your PIDs? This is why your boat drives in circles. Set them back to defaults and test again.
STEER2SRV_D 0.0050 0.1700
STEER2SRV_I 0.2000 0.2500
STEER2SRV_IMAX 1500.0000 500.0000
STEER2SRV_MINSPD 1.0000 0.5000
STEER2SRV_P 1.8000 0.0650
SPEED2THR_D 0.2000 0.1850
SPEED2THR_I 0.2000 0.5500
SPEED2THR_P 0.7000 0.1200
Your arming_check is set to 72 so your only checking GPS lock and RCFailsafe. Plus because ARMING_REQUIRE is off (set to 0) its just going to arm anyway. So if any of your other sensors are busted your not going to know. Is there a good reason for this? I STRONGLY recommend setting the arming_check back to the default of 1 and putting ARMING_REQUIRE to 1. If you can't arm as a result of this is means something is wrong and it should be fixed - not that arming checks should be turned off.
ARMING_CHECK 1.0000 72.0000
ARMING_REQUIRE 1.0000 0.0000
Note that your FS_THR_VALUE is lower then your min throttle (RC3_MIN 983) so if you put the boat into AUTO and you throttle down you will go into failsafe and the action you have set is RTL. What this means is you have to put some throttle input on to keep the boat in AUTO mode.
FS_ACTION 2.0000 1.0000
FS_THR_VALUE 910.0000 1093.0000