Perhaps something like this:
ListPlot[ConnectedComponents[NearestNeighborGraph[points]]cc = ConnectedComponents[NearestNeighborGraph[points]];
ListPlot[cc,
BaseStyle -> PointSize[Medium],
ImageSize -> 700,
Axes -> False,
LabelingFunction -> (#2[[-1]] &)]
UpdateUpdate: Labeling all points consecutively:
ListPlot[Joinlabeling = AssociationThread[Join @@ ConnectedComponents[NearestNeighborGraph[points]]MapIndexed[#2 ->&,
cc, {2}], Range Range[Length@ Length @ points]points];
ListPlot[cc,
BaseStyle -> PointSize[Medium],
ImageSize -> 700,
Axes -> False,
LabelingFunction -> (#2[[-1]]labeling @ #2 &)]