It's true that re-evaluating a point when the function is deterministic adds no information. The duplication occurs because of an approximation in our implementation. A perfect implementation of the "Expected Improvement" acquisition function would not choose a duplicate point in a deterministic setting because the expected improvement at an observed point would be zero, and any unobserved point would have an expected improvement greater than zero (but possibly tiny).
However, our Gaussian Process modeling function (fitrgp) does not exactly support deterministic functions. Instead, for deterministic functions our implementation assumes a tiny positive noise level, which results in a tiny positive expected improvement, even for observed points.
For a duplicate point to be chosen, the estimated objective function at all unobserved points would need to be very poor, for such a tiny expected improvement at the observed point to win out. Still, that's a limitation of our current implementation. This is something that could in principle be fixed and we'll look into it.