This would be a combo of all of the above.
You're using NVENC which is a
very poor quality encoder at streaming bitrates. Your first test was at 1080@60, which isn't going to happen. Even less-so because your monitor is only 1600x900. Later tests were at 720 base with the sources squashed down, then at 720@60. All of these are bad.
Use this.
Base resolution:1600x900
Downscale (in settings): to 1280x720
FPS: 30
Bitrate: 2000kbps (no custom buffer)
Encoder: x264 Veryfast
It should be a significant step up from what's shown in those logs. Oh, and set your Keyframe Interval (in Advanced) to 2, if you're streaming to Twitch.
If you're not streaming and are only locally recording, follow ALL of the settings in this guide:
https://obsproject.com/forum/resources/how-to-make-high-quality-local-recordings.16/