I think your example is only showing results once per frame because your scene is stable. If you try it in a scenario where you might experience frame drops, I think you’ll find that timelines can run multiple times in a single frame, though Timers are quite different than a timeline and you’re not showing an example of a Timer in your blueprint.
I’ve personally experienced timers triggering multiple times a frame myself, and others have also noted it. They also aren’t asynchronous so if you bog down the system by doing a large loop in another bp for example, you’ll also have them execute at the wrong timing. Just create another BP with a For Loop and set the last index to 99999 and have it execute on begin play with a 0.25 second delay and you’ll see what I mean. Then do the same event on tick and I’m pretty sure the tick event will still execute properly.