"Is it possible to hop on hop off these cities in a day?"
Yes, but you would have only an hour in each of the first 2 towns, 3 hours in Boppard, and you would not arrive in Koblenz until 18:30. You'd then need a bus ride to the Koblenz station from the Deutsches Eck, after which you'd take a train ride of 1.25 hours more to reach Eltville. And you're leaving the next day to pickup your bags in Mainz - and then travel to and fly out of FRA??? I think trying to cover all this distance and all these towns will only just "cover up" your experience - no time to see a castle, enjoy a nice walk or a meal with a view, etc.
"we have 2 nights to spend over there"
1 in Mainz and 1 in Eltville - right?
The Deutsches Eck is on the whole just not all that interesting or overwhelming, IMO, that it justifies the minimal time you have for Bacharach and St. Goar.
I would advise seeing Bacharach (one 2-hour stop) and St. Goar (Rheinfels Castle) by boat and then crossing the river there by ferry (runs all day) to catch your train to Eltville. When you board your train for Eltville, you will have seen what is maybe the prettiest Rhine town, the best scenery on the river, and a mighty old castle. You might have a little time in Eltville that way.