Потому что изначально
left: auto
.
Also the auto value is often a very complex case. The specification asks not to animate from and to such a value. Some user agents, like those based on Gecko, implement this requirement and others, like those based on WebKit, are less strict. Using animations with auto may lead to unpredictable results, depending on the browser and its version, and should be avoided.
https://developer.mozilla.org/en-US/docs/Web/Guide...
Если задать изначальное значение числом, например, 0, все прекрасно работает.