This is actually a consequence of what neural network based ML actually does.
Machine learning is actually a misnomer. A more accurate term is function interpolation.
Let's say I have a training set of 5000 samples.
When I kick off the training process, I'm basically telling the NN run until it simulates a function that yields the desired response in those 5000 cases.
The rub of course, is that programs aren't only defined by what they do (yielding the appropriate response for the the training cases) but also by what they don't do (excessive false positive/negative generation outside the training dataset). Performing correctly on the training, but messing up on more general tasks (the human equivalent being becoming an excellent test taker, but a lousy practitioner) is called overfishing. A more broad subclass of overfishing that van occur would be undesired/discriminatory/illegal optimizations, such as using combinations of protected classes as a significant data point in coming to a determination.
There is no guarantee for any particular training session that you'll arrive at the same weights, or that that set of weights will cover the same set of things that the previous network did. I.e. Your network can make mistakes (just like a person).
The irony in all of this, is you're basically training a machine to simulate a human doing a task in reliability/consistency (admittedly without the constraints of interacting with the world through a human body) with all the volatility between training that just being a human from day to day introduces.
I'm honestly beginning to wonder if the push for machine learning adoption isn't anything more than the market trying to replace people with models that they don't have to pay benefits for, and onto which they can pass blame trivially because, "Of course we didn't make it to discriminate! There's no way we could have known it would do that ahead of time!"