Bingen has two rail stations, you want the one closer to KD, but it's still a hike.
Make sure you pick the right station in Bingen. It's Bingen Stadtbahnhof, not the larger hub, Bingen Hauptbahnhof.
Although the K-D dock in Rüdesheim is virtually across the street from Rüdesheim Bahnhof, maybe just a 100 yds walk, the walk from Bingen Stadtbahnhof to the K-D dock in Bingen (I did it in 2017) is not a bad walk at all. It's about ¼ mile. Go through the tunnel at the front of the Bahnhof, under the highway, to the river, then walk along the river front to the ticket kiosk near the dock.
There are only hourly trains from FRA Regionalbhf to Rüdesheim, and they get you to Rüdesheim 55 minutes before the next boat. The 8:45 train from FRA will get you to Rüdesheim at 10:05. The next boat leaves Rüdesheim at 11:00 and gets to St. Goar at 12:40, where the next boat to Boppard leaves at 2:30p and arrives at 3:30p. So, 8:45 is the last train from FRA to Rüdesheim that will get you to Boppard by 3:30p.
However, there are two connections to Bingen Stadt, one at 9:24 (chng at Bingen Hbf) and another at 9:30 (chng at Mainz) that will get you to Bingen Stadt in time to get the boat that gets you to Boppard at 3:30p.
It's similar for the boat that gets to Boppard at 4:30p. That's partially due to the schedule differences, but largely due to a long waiting time in Rüdesheim, to the train to Stadt being almost 20 min faster than the one to Rüdesheim, and to the boat leaving Stadt 15 minutes later. So, with the current schedule, I would pick Bingen Stadtbhf for my transfer point.
BTW, most of us familiar with that area consider the cruise from Bingen to St Goar as the best part and the part from St Goar to be less significant. If you arrive in St Goar on the boat at 12:40, you'll have 20 minutes to hike up to the St Goar Bahnhof and buy a ticket. The next train leaves St Goar at 1:00p and gets to Boppard 12 minutes later, over 2 hours earlier than the next boat. On the other hand, you could use the 2 hour gap to explore St Goar.
This is per this years schedule, which, for the K-D line is much abbreviated. Next summer could be entirely different.