And yes to the doing the Wine Harvest Festival
Germany's wine fest of wine fests - the Wurstmarkt - is happening at the beginning part of your stay where it always happens, in Bad Dürkheim. So I will suggest reversing your loop so that Heidelberg is your first stop after landing at FRA. From Heidelberg the train trip to Bad Dürkheim is pretty simple: 08:17 - 09:25, with one change of train in Neustadt on Sept. 13, for example.
It looks like you have 12 days on the ground rather than 2 weeks - correct? Without explaining all my reasoning, I will lay out below how I would attempt to fit things in if I wanted to go where you want to go. The places you wanted originally that do not appear have been dropped. (This is not an ideal itinerary IMHO but it might be close to what you want.) Trains I would choose under the circumstances have been noted.
I have added a stay in the Rhine Valley at the end because it's close enough to FRA for your trip home and because of your interest in festivals... the Rhine in Flames is on the 21st in St. Goar.
ARRIVE 9/12 FRA, time unknown. Possible fatigue, jet-lag, etc. train to Heidelberg sometime.
9/12-14 in Heidelberg with day trip to Bad Dürkheim
9/15-16 Black Forest (train to Gengenbach 9:07 - 11:05) with day trip to BF towns
9/17-18 Munich (train to Munich 7:11 - 10:49 = fastest possible trip)
9/19-20 Nuremberg (train to Nuremberg 9:04 - 10:50) with day trip to Rothenburg. OR... train to Rothenburg (longer) with day trip to somewhere else (Nuremberg? Bad Windsheim?)
9/21-23: Rhine in Flames event on 9/21 + castles + Rhine cruise (train to Bingen 7:57 - 12:11) From a Bingen base, outings to towns like Bacharach, Oberwesel, and Rüdesheim take just a few minutes. Consider the NH Bingen hotel, on the river walk near the docks. Nice views.
https://dynamic-media-cdn.tripadvisor.com/media/photo-o/06/1a/df/01/nh-bingen.jpg?w=900&h=-1&s=1
https://media-cdn.holidaycheck.com/w_1280,h_720,c_fit,q_80/ugc/images/49ae7b3e-32a5-3d2a-8987-6a0c2650c5d2
9/24: Direct Train to FRA (5:47? 7:47? 9:47? No idea what time your flight is. Roughly 45 minutes to FRA