You can look up train times in and around Germany (most of Europe is covered) on the German railways website. Furthermore all night trains in Germany are operated by City Night Line; their brochure contains a map. Unfortunately for you, there is no night train crossing western Switzerland into Germany.
From Milan, there's a night train only to Munich, according to the City Night Line brochure. According to DB, there is no such train and you need to change in Verona. Italian railways tend to get into disputes with train operators from neighboring countries), so it's possible that the through carriages from Milan aren't running (they would normally join the carriages from Rome at Verona, and the Rome–Munich train is running). From Munich, another 2½ hours get you to Stuttgart. It's a very roundabout trip.
If you can catch the Rome–Milan in a more reasonable place such as Florence, Bologna or Verona, you can depart late at night and be in Munich at 6:30 and in Frankfurt at 10:00. That's a bit of a roundabout trip, departing late at night and arriving too late for a morning meeting the next day.
There are several night trains departing Basel. Two of them turn east before they reach your destination and don't take passengers in the Rhine Valley. CNL 40478 departs Basel at 22:13 and passes Frankfurt airport at 3:39 and Cologne at 5:43. Technically, this meets your requirements.
There's no good train option between these two regions. A train is likely to come out cheaper than a flight plus a hotel, but the train trip takes a long time and doesn't have any convenient schedule.
I don't know if there's a convenient night bus — if Rome2rio doesn't find it, that may mean there isn't one. Eurolines has a daily bus from Milan from Frankfurt, but it's a daytime bus.