If the goal is to fix the behavior instead of just documenting it, the penalties need to escalate with repeat violations. The first mismatch can be treated as an honest mistake. But when the third or fourth inspection still shows the same pattern, the fine shouldn't be the same $5k: it should jump sharply. At some point the cost of ignoring the problem has to exceed the profit from letting it continue.
Right now the incentive structure is backwards. As long as the downside is fixed and small, large retailers will keep treating it as business-as-usual. A tiered system tied to repeated violations would at least push them toward actually fixing the issue, instead of just shrugging it off every time they get caught.