Hey Jess, based on that it seems you have a lot of tasks to accomplish for them. Then I suggest probably having one team per client is best and then you have Bookkeeping, Event Management, Web Development tasks, Marketing all as separate project. This way you can track it nicely.
Personally I have not used Harvest as time tracking app yet but have a look at the community built comparison about time tracking apps to figure out which one works best for you.
From my end, I can say that we use Hubstaff and it allows us very nicely to connect every single Asana project to one project in Hubstaff and then track time per task as well so it allows us to have an overview on time per task spent and also per project spent and many more features such as limiting costs/hours per project, etc
If you are unsure on how to set up the projects have a look at some templates that Asana provides Asana Templates - Free Project, Management and Business Templates • Asana and some more are here https://templana.com/
Not sure what plan you are on at the moment but in case you are on the free plan I’d definitely suggest to upgrade as premium and business offer many more features such as custom fields, rules, etc which are really helpful and you can automate things further.