Your mesh is fine. But the bone orientation is wrong. All bones stick out of the mesh but they should be inside. And there are too many bones for the thumb. You need to fix this first or you have a hard time animating this.
Bone Layout
Your bone layout:

Good bone layout (Rigify meta rig):

Renaming the Bones
When you fixed this, give all bones the .R
suffix in their names. (_R
, _Right
or ´.right` work, too). This can be done with the batch rename Ctrl+F2:
- find:
^(.*)$
- replace:
\1.R
- choose type bones and activate the regex operations * as shown here
Mirroring the Bones
Blender mirrors objects at their origin. That's the little orange dot. Because the origin is in the center of your mesh and armature they will be mirrored in the middle.
In Object mode, Switch to front view with Numpad 1 (or menu: View > Viewpoint > Front), and move the armature to the left. Then apply the Location with Ctrl+A > Location. This will move the origin to the world origin.
Switch to Edit mode, and choose the menu entry Armature > Symmetrize. This will copy all "right" bones and make them "left" bones. The suffix will change automatically (.R
<-> .L
or _Right
<-> _Left
):

(Bone layout is still wrong)
Mirroring the Hand Mesh
In Object mode, just select the mesh, apply the Location with Ctrl+A > Location, add a Mirror modifier, move it to the top of the stack and apply it.
Note: If you want to keep your weight paint then don't apply the mirror modifier yet. Parent the mesh to the armature first with Ctrl+P > With Empty Groups. This will create the vertex groups for the left bones. Then apply the mirror modifier. It will fill them when the option Mirror modifier > Data > Vertex Groups is selected (default).

Weight Paint
In Object mode, select the mesh and then the armature (must be the active object, selected last). Parent them Ctrl+P > With Automatic Weights.
Test the armature in the Pose mode.