IMO, it’s the lack of motion when riding a trainer that is the problem.
I went full motion (Inside Ride e-flex) and the extra comfort is fantastic.
Other than that, use all the tricks - lift the front wheel up, add some cheap/easy motion to your current setup, get super comfortable shorts, use chamois lube, stand up and pedal every 5 minutes, get off the bike for a few minutes ever 30 minutes, etc, etc.
Zwift can add the group incentive/dynamics for long rides, you just need to find the right ride. Any time the weather sucks on a Saturday (or if I’m just short on time), I’ll join the BMTR 100 mile group ride on Zwift. It takes around 4 hours at B+ pace. It’s a solid tempo ride for me at that pace, but you can do any pace you want by getting with an appropriate group. The first couple hours fly by pretty quick, the 3rd hour can drag a bit, the 4th hour feels pretty good because you can see the finish line. There is no other ride I do inside or out (including races) where I can push that many Kj’s through my legs over a 4 hour period. It’s just great training IMO. And a couple of years ago, Zwift added a “coffee break” feature that allows you to take a 3 minute break periodically without losing your group (kind of like temporary auto pedal). Prior to that, it was impossible to take a nature break during the ride without losing the group.
For me, equipment setup is also key to riding indoors for more than an hour or so. I ride e-motion smart rollers, so you get the natural rocking of the bike and you float freely forward and back to eliminate the unnatural trainer feel and discomfort. Multiple commercial fans, air conditioning, decent sound system, and big screen in front of the bike. And I’ve got a table within arm’s reach loaded with fuel and hydration to get me through the ride.