Is there an algorithm that can ensure everyone gets bussed to their destination on time, while minimizing the time spent on a bus?
This problem is NP-hard. You can reduce the Hamiltonian-Cycle problem to this problem.  Given an instance of the Hamiltonian-Cycle problem, fix a vertex $v$. Assume there is exactly one bus and $2n - 2$ passengers, where $n$ is the number of vertices in the graph. We set the passengers such that one passenger wants to travel from $v$ to each other city in the graph and one to travel from each other vertex to $v$.
Claim. The given graph admits a Hamiltonian-Cycle, if and only if the total travelled distance is $2\frac{n (n-1)}{2}$.
Proof. An optimal route is a Hamiltonian-Cycle from $v$ [try to see why]