The code would have break the first (deform only) modifiers once the index is reached, but it will not prevent second loop (over remaining modifiers) from run. This was applying deform modifier twice in some conditions: having single deform modifier and calculating deformed mesh up to the first modifier (index=0).