Time error with higher tempo. Some advices

Most likely this function.
In your :sequencer live_loop, you play several samples, sleep for 0.25, and repeat.
However, your :drums_sn_play function wraps a sample in a :reverb fx.
Reverb is one of the sorts of fx that need to be used carefully, as they can quickly use up system resources if too many are triggered at once. Here, the :drums_sn_play is being called fairly frequently, with very little time in between for each reverb to terminate. The result is that the stacking up of the reverb fx would cause the system to struggle to keep up.