Потому что он никогда не оказывается ТОЧНО в той позиции. Это даже по координатам видно - они отличаютися на меньшие величины, чем step.
Проверяйте либо что объект ПОЧТИ в точке (расстояние меньше какого то эпсилон), либо что он ПРОШЕЛ точку (в предыдущем шаге точка была впереди, а в текущем - сзади).
Ну и читаните про сравнение float, чисто для понимания