Looks mostly doable to me. Some suggestions for doing your plan...
(A) - Rüdesheim/cruise/Koblenz outing: Try the Rheinland-Pfalz ticket for this day (€29/2, valid weekdays after 9:00.) Trains depart St. G'hausen at 9:26 for R'heim (ar. 9:51.) This day pass also covers the trains from Boppard to Koblenz and back to St. G'hausen. CRUISE: You'll need to catch either the 10:15 or 11:15 boat to Boppard to complete your planned circuit on this day. Show your R-P ticket at the KD dock for a cruise fare discount. Hope you find time to take Boppard's chairlift to Gedeonseck terrace.
This day is very fully packed as planned. It's also a long, fairly dull walk (or a bus ride) from Koblenz station to the older part of Koblenz, where most visitors end up. Personally I've always found that efforts to enjoy time in Koblenz have gone largely unrewarded. Consider instead a more leisurely schedule... head to Rüdesheim earlier (8:26 - 8:51, €7.20 each for a DB ticket,) spend a little more morning time in Rüdesheim (catch the 11:15 boat north) and more time in Boppard as well (ar. 13:50) and just leave Koblenz out of the equation. After Boppard... there are KD boats from Boppard to Braubach (16:50-17:25 and 18:50-19:25.) One of these would allow you to bypass Koblenz - and give you a view of Marksburg Castle from the river. So when you buy your cruise ticket that morning in Rüdesheim, buy it all the way to Braubach. Then Boppard is a stopover (just tell KD staff your plans.) Then you have a much shorter train ride back home to St. Goarshausen with trains leaving Braubach at :06 after every hour, and additional trains at 17:36, 18:36, and 19:36 (tickets are €4.90 each.)
(B) - Eltz/Remagen outing: In Remagen you can also visit the WW II museum at the bridge site, and see a bit of the town too.
Got more time for an additional stop? I doubt it. But perhaps... There's no bridge now in this area, but there's a car ferry south of town that gets you across the Rhine to lovely Linz am Rhein.
(C) - Oberwesel hike: Might take 2.5 - 3 hours. You'll first use the St. Goarshausen-St. Goar ferry as foot passengers (€1.80 each in each direction, so €7.20) and return later by train from O'wesel to St. Goar (€3 each, so €6) for a total of €13.20.
However, Bacharach is only minutes south of Oberwesel - I would catch the train there after O'wesel for a look around and perhaps a meal - then return later by train to St. Goar; trains leave Bacharach for St. Goar at :50 after every hour, and as late as 21:50. (The ferry back runs all day too, with final crossings at 22:15 and 22:35.) O'wesel to Bacharach DB tickets (€2.60 each, so €5.20) plus Bacharach to St. Goar tickets (€4.10 each so €8.20) along with the ferry costs (€7.20) bring your transport costs this day to a total of €20.60.
(D) - to Winningen and back: This day leaves you a lot of free time.
You might want to recombine some of your destinations onto different days as follows...
(B) - Drop Remagen, add Winningen before or after Burg Eltz (car)
(D) - Drop Winningen, add Remagen and Linz am Rhein (car) with a stop in attractive Braubach as well (dinner??) on the return to St. Goarshausen.