It may well be double geometry, always worth a Merge by distance to see if it removes some.
I just do not think it looks likely. Verts are not moving at all.
Weight painting should look Red on the verts the selected bone wants to be fully in parental control of. There can be some shade variance Green to blue for verts it shares control with the next bone in the chain.
So to get there so it works.
Object mode.
Select the armature, then shift select the mesh object.
Go to Weight Painting mode.
Open the Mesh object properties tab panel, (green triangle)
Open the Vertex Groups dropdown. Here you can select the bone to work on the verts it has power over.
Select vert selection, (may be used for face but unlikely).
Set view to Wireframe And X-ray.
Select the paint brush tool top of the T left hand toolbar.
Along the top you set the weight you want to paint so 1 is full control. 0 is no control. Radius is just brush size.
Now the odd bit. If no vert is selected nothing paints, nothing works.
So you can press A and select all, now the painting brush tool works.
Or Select verts you want to affect and leave the rest unselected and they never get accidental changes!
I find pressing C for circle select a handy route. Hold middle mouse button for deselect. Right click to get out of circle select mode.
Now just set the weight you want and the strength and paint as wanted. If strength is low you can paint over several times to get up to the weight set. Once it is working it is really just practice, setting the weights and strengths. Painting fully off and fully on is pretty easy. But the connections need subtle sharing of control.