When I realized that changing snapping settings under Settings/Options/Digitizing didn't do anything even if I had the Enable snapping by default box ticked, I searched on the web and found this post. Just get the Snapping Toolbar to show up top and you can toggle snapping by clicking on the red magnet. Maybe that Enable snapping by default box should be ...
I would approach this by reconstructing the line manually. Use a cursor to extract the start and end points from the line, sort the list of point coordinates by proximity to the start of the line, and reconstruct the new line geometry.
# assumes one line in in_line
in_line = r'\scratch.gdb\sample_line'
in_points = r'\scratch.gdb\sample_points'
# get line ...
Append end points of your lines to snap points and run near tool on appended set of points. Add field type "Double" to their table:
Rename original lines in table of content to "original" and use field calculator:
g = arcpy.Geometry()