Your time available looks reasonable for your proposed itinerary. Because traveling through the Balkans by train and bus enforces a leisurely pace, I'd recommend padding the schedule in several places so you can recover fairly easily if you lose a day somewhere because of a transportation issue.
I have been to all the places you plan to see except Bar, but some of them were a very, very long time ago. My most recent trip to that area was in 2015 at the age of 63. I used public transportation and a (too-heavy) rolling suitcase. I am female, so at the risk of being ageist and sexist I'm going to urge every one of you to fill a backpack with a realistic amount of weight, add a few pounds to it, and set out on a long walk with some uphill segments and ideally some steps. I think that's the least anyone of our age should do before planning to carry her belongings on her back. I would be utterly miserable trying to do that.
For initial checking of the existence of public transportation between your destinations, you can use Rome2Rio.com. I've found it to be relatively accurate about the existence of trains or buses, and it can be helpful in telling you where you're likely to need to transfer. However, it's critical that you understand how incredibly bad Rome2Rio's information about fares, travel times and frequencies can be. Do not trust that information; it can lead you down the garden path. Instead, keep clicking through the website until you find the name of the bus or train company providing the service you're interested in. Usually Rome2Rio provides a link to that company's website, where you can probably find schedule and fare information.
Keep in mind that day of the week is extremely important when researching schedules--probably even more so for buses than for trains. And it can be considerably harder to get accurate bus schedules online as opposed to train schedules in that part of the world. My philosophy is that the bus doesn't exist until I verify its existence at the bus station from which it departs. Local tourist offices sometimes have schedule information, but I'm more comfortable getting that critical information from the horse's mouth. I noticed when I asked for bus information at tourist offices in the Balkans, they didn't turn to their computers; they picked up the telephone and called the bus station. I took that as a clue about how up to date the online information might not be.
Bus within countries are a lot more frequent than buses crossing borders. It's prudent to buy tickets for international routes in advance; those buses often head out full or nearly full.
Most trains in the Balkans are slow. They may not be faster than buses, or the bus schedule might be better, so check both options. Example: I believe there are more buses than trains running between Ljubljana and Zagreb, though the bus station in Zagreb is a somewhat longer walk from the historic center of the city.
Depending on what your final itinerary looks like, you may find that a flight or two would help. I use skyscanner.com for researching intra-European flights. I have used EasyJet a few times and wouldn't hesitate to do so again. I have no experience with the other budget carriers. Always check luggage fees. The budget carriers use cafeteria-plan pricing; you will pay extra for everything.
A few comments about your planned destinations:
The historic town of Novi Sad is worth at least a day-trip while you're in Belgrade.
Try to allow time in Ljubljana to see a bit of rural Slovenia. Distances are short and bus service is good.
There are lots of attractive places in Croatian Istria: Rovinj, Porec, Pula, Groznjan, Motovun.
Between Dubrovnik and Kotor is the much less touristy town of Herceg Novi. Several forum folks have liked Perast a lot; it wasn't my favorite. I also liked Budva, Ulcinj (Turkish vibe) and Cetinje. Podgorica is the dullest place I saw in Montenegro.