But the problem with caps, is that people hit them.
As a hypothetical, imagine a polluting plant poisoning the neighbourhood. You want them to know once their fine gets to $1M it's capped? You've suddenly presented a clear choice to the plant - fix it if it'll cost less than $1M, if it'll cost more keep ignore.
If you're going to fine anybody "per unit of time", you have to keep it open-ended (as otherwise the only people who'll ignore you, are those making more profit per day, than the per day cost)