This is not an easy trip, there are no International trains in or out of Greece and very few, if any, planes fly directly to Zagreb. Train might be the best option, even though it can take up to 24 hours. The following link to Seat 61 details how to do this trip, just scroll down the page. And, next time you travel, check out connections beforehand.
http://www.seat61.com/international-trai...
You could drive. You could leave from Athens and head up north towards Thessaloniki. From there cross the border to Fyrom, Serbia and then finally Croatia.You could also take a bus or train.
#1. Athens to Sofia, Bulgaria by bus. Sofia to Belgrade, Belgrade to Zagreb by train. At least 2-3 full days travel.
#2. Athens to Patras by bus. Patras to Ancona Italy by ferry. Ancona to Split by ferry Again 3 days travel.
#3. Athens to Patras by bus. Patras to Venice. Venice to Trieste, Lubljiana Zagreb by bus or trains. Over 3 days travel.
You could go by bus through Albania and Montenegro http://www.tripadvisor.com/ShowTopic-g294453-i1554-k6456295-Greece_to_Croatia_over_land_or_sea-Croatia.html but it will take a 2-3 days
take a ferry!!! come to Split to biker's bar "bounty" and we'll have a great time :)