Define B&B. Small German hotels, pensions, etc almost always have breakfast, so they could be considered B&Bs. Or do you mean a true B&B, a Privatzimmer (room in a private home).
I stayed in a Privatzimmer in Boppard in 2004, but the owners never spoke English, even when I struggled with German. Would that be a problem for you?
There are lots of small hotels with breakfast in St. Goar. I've never stayed in any, but I would recommend them. (German hotels are almost always very good. I've never had a bad room in Germany.)
In Bacharach, I would recommend Im Malerwinkel. I've never stayed there either, but I've seen the outside and the setting is beautiful - and it's far away from the noise of the train tracks. Some on this board have stayed there. I've never heard anything negative about it.
If you don't mind staying on the Mosel, I have stayed here and recommend it highly. It is a true B&B. The owners, who live downstairs, are Dutch and speak excellent English.