For me, what you want works with the expression @geometry_part_num . In the layer-styling, I set the style to be rendered by geometry-generator with the expression nodes_to_points( $geometry). As a marker, I select Font-marker and at the selection of the symbol, I select data-driven override with the expression @geometry_part_num
You could extract the vertices of the line as point using the extract nodes tool. And the point to your project. Add a new attribute to the table with a sequence of numbers. Label those points using the sequence.
If you're having trouble getting the little cross to pop up on the segment you want to add the node to, check your snapping tolerances. Mine were too high, making it impossible to get it on shorter segments. Go to settings > options > digitizing > snapping > "search radius for vertex edits" and set it to something like 10 pixels. Mine was set to 100 map ...
You have mentioned that you are using "Regular Points" to create points arranged in lines over an area.
You could create another layer with "Regular Points" with half the vertical spacing of the first layer. Pay attention to the extent of both layers.
Then you could use this new layer to snap new points on the first layer to decrease the spacing.
I'm not sure whether you are comfortable using the python console, but here is a short script I wrote which should do what you want (one row of points at a time). In case you are not familiar with running scripts in the console, open the python console, click the 'Show Editor' button, and paste the following code into the editor.
Note: Before running the ...
If it's a line you can use break line at point and merge the features with dissolve. The attribute to dissolve back can be an autoincrement you place on a new field you create before the break. The point doesn't have to be exactly on top of the line. Use the distance you want.
Polygon could get a bit tricky though. Can we see what type of data you have?