I’m sorry to hear that she didn’t enjoy the walk. It’s not the first time this point has been raised.
I’m sure those at the front aren’t doing this intentionally - they might not realise, it may not cross their minds, or they might think there are enough people behind them to accompany the slower walkers.
My suggestion would be to make an announcement before setting off - something along the lines of “remember it’s a group walk, so we need to stick together and give people time to catch up before moving on”.
Maybe we could count how many people there are before setting off, and check that everyone is at each cache location before announcing that we can move on to the next?
In addition, we could have a few volunteers staying at the back of the group for the duration of the walk.