Welcome to DDF.
Out of all the places you mentioned I would definitely recommend spending Shabbos in Prague. You can stay at the Intercontinental which in a perfect location in the heart of the Jewish Quarter. There are 2 restaurants that offer shabbos meals and almost all of the touring is within walking distance. It is also one of the most beautiful cities i've ever been to in Europe and all the things you mentioned you'll find there!!!
Vienna is nice but not for shabbos and I personally don't think you need that much time there.
Another place you can consider is the south of France. (Nice, Cannes, Monte Carlo.....)
intercontinental in PRG is really expensive 200+ eur a night.
i spent shabbos in vienna last week and i enjoyed it. its a long shabbos so bit boring but you can walk a lot, though i think that the shabbos walk in PRG is way nicer and its not as much (or doesnt feel as much) walking...
you can cover vienna in a day in half or so...the palace takes a long time (trip report coming up)
and budapest you can do also in one day
and if anyone is coming to PRG in august, let me know (PM me) and i can prob show you around - (depending on the dates)