I would charge a flat rate as well. While each session may be a little different with regard to preparation (as Daniel mentioned), you can factor that into a flat rate slightly to reflect any variance. Charging clients different rates would be frustrating to them, I would think.
I would do a combination.
Let’s say you have three online clients, one wanting a different workout for 6 days out of 7, the other being happy with 3 workouts, and the third just wanting one workout to repeat several time, then you should charge different rates.
For example, there could be a flat rate for 1 to 3 workouts and one for more than three. That could protect you from clients who want to get the most out of you for the least amount of money.