For this sort of trip you will almost certainly find more travelers with suitable experience on the Lonely Planet Thorn Tree Forum, though we will try to help you here.
The Rome2Rio.com website may be of some assistance. It suggests modes of transportation between any two points. Do not trust its travel times, frequencies or fares; those can be way, way off base. But it's fairly reliable when it says you will need to change buses in a particular city or that rail service is available. There will usually be a link to the appropriate bus company or rail company website, where you may be able to find a schedule. If not, try Googling Bus Belgrade to Nis. For train service (quite limited) you can start with the Deutsche Bahn website, but I'm not sure its information is always complete for the Balkan countries.
The transportation situation, especially regarding international trips, is uncertain enough that you'll need to check onward schedules as soon as you arrive in each city. Do not depend totally on what you see on the Internet. Be especially careful about planning to change cities on Sundays and holidays, when schedules are sometimes limited or non-existent. Don't wait until the last minute to buy international tickets. Those buses are often quite full.
I think you may have two tough links in your preliminary route: Nis-Skopje and Skopje-Thessaloniki. Check on those right away so you can see whether you'll need to make substantial detours. You may need to take a convoluted route, and you may have more than one option, in which case you'll want to do some research so you can choose the most attractive.
Zagreb may be a more affordable flight destination than other Balkan cities, though it all depends on your origin airport. Ideally you'll fly in and out of different cities ("with multi-city" rather than "round-trip" tickets). There is decent transportation between Zagreb and Belgrade, and Zagreb itself is a very attractive, youthful city--though probably more expensive than the ones you've mentioned.
I enjoyed a day-trip from Belgrade to the historic town of Novi Sad, which has a funky historic district I think you'll find appealing.
The country of Montenegro has some very interesting towns (Kotor, Budva, Ulcinj, Nerceg Novi, Cetinje among them) and some beautiful national parks. However, I'm not sure the parks are accessible without a rental car (or a hired car and driver). I took a day-long bus trip from Nis to Podgorica, the capital. There was some really great scenery along that route.
The city of Podgorica itself is definitely nothing to write home about, but it has decent bus links with the other Montenegrin towns I've listed, and there are budget-airline flights into Podgorica that might conceivably prove helpful if you come up empty on one of your travel legs.
To explore flight possibilities, go to the Wikipedia page of any airport and look for the chart lisiting destinations of direct flights. Alternatively, similar information is available on the website FlightsFrom.com.
As a general rule of thumb in the Balkans, I found that I covered roughly 30 mph whether traveling by bus or by train, not counting any necessary layovers. It is easy to spend all day on a bus and not travel all that far. You will have time for more fun if you focus your trip in a fairly limited area. You'll need a detailed guidebook for each country you plan to visit so you can find out about more than just the biggest, most touristy destinations.
I'd leave the beach plans till near the end, after working out the basic itinerary, because you have beach options in several different directions. I am not a beach person myself, but the little towns of Nesebar and Sozopol, near Varna, Bulgaria, were very interesting though also very touristy. Montenegro also has possibilities.