g0 = Graphics[{BezierCurve[pts], Point[pts], Red, Point[pt]}, Frame -> True];
lines = MeshPrimitives[DiscretizeGraphics[g0], 1];
npt = RegionNearest[RegionUnion @@ lines][pt]
{0.0805512, 0.671604}
Graphics[{Blue, Dashing@{}, lines, Red, Point[pt], Black, Point@pts,
Green, PointSize[Large], Point@npt}, Frame -> True]