First of all, you need to be careful about your timers.
16 is the maximum for one BlynkTimer object, and you need to set them up so that they don’t all try to get called at the same time, and that if some have longer cycles then a number of timers don’t all coincide at one point (every minute for example).
The “Staggering Timers” section of this tutorial explains more…
As far as your original question is concerned, you’d be better keeping the Blynk.virtualWrite commands in their individual timed functions.
Blynk doesn’t like it if you try to push too much data out to the server at one time, and the preferred limit is 10 write events per second, so trying to do more than 10 immediately after each other isn’t a good idea.
Pete.