The speed reduction does not stack.
The rules for combining game effects state (DMG p. 252, added in the DMG errata; emphasis mine):
Different game features can affect a target at the same time. But when two or more game features have the same name, only the effects of one of them—the most potent one—apply while the durations of the effects overlap. For example, if a target is ignited by a fire elemental’s Fire Form trait, the ongoing fire damage doesn’t increase if the burning target is subjected to that trait again. Game features include spells, class features, feats, racial traits, monster abilities, and magic items.
So you cannot be affected by the speed reduction of more than one set of caltrops at a time.
But mundane items aren't on the list!
Indeed, "mundane items" is not on the list of examples given in the rule quoted above. This list is not meant to be exhaustive. To demonstrate this, we can observe that the official rules answers document, the Sage Advice Compendium, tells us that an opportunity attack is a game feature:
Can you use a melee spell attack to make an opportunity attack?
Each spell has a casting time. A game feature, such as an opportunity attack, doesn’t let you bypass that casting time, unless the feature says otherwise. [...]
Opportunity attacks, a type of reaction, are not "spells, class features, feats, racial traits, monster abilities, and magic items", so the list of game features given in the "same name" rule is not exhaustive.
However, the application of the rule needs to be exhaustive: excluding mundane items from this rule breaks the game. Alchemist's Fire is a mundane item:
This sticky, adhesive fluid ignites when exposed to air. As an action, you can throw this flask up to 20 feet, shattering it on impact. Make a ranged attack against a creature or object, treating the alchemist's fire as an improvised weapon. On a hit, the target takes 1d4 fire damage at the start of each of its turns. A creature can end this damage by using its action to make a DC 10 Dexterity check to extinguish the flames.
If we allow this feature to stack with itself, any creature can be quickly overwhelmed by stacking Alchemist's Fire effects. Let's walk through this:
- Round 1: BBEG takes 4 hits from Alchemist's fire, suffers 4d4 fire damage, then uses its action to end one of the effects.
- Round 2: 4 more hits, BBEG suffers 7d4 fire damage, then uses its action to end one of the effects.
- Round 3: 4 more hits, BBEG suffers 10d4 fire damage, then uses its action to end one of the effects.
The damage just piles on, and the BBEG cannot keep up with the effects being added on.