Human Rig - unpected position change between edit mode/pose mode

I downloaded a human rig on the net and try to map it to my 3D model.
Strangely, the position of the arms and fingers changed between edit mode/pose mode. I can’t figure out what makes the problem.
I guess it’s something about the Pose Position and Rest Position but I don’t know how to align these 2 poses to the same pose.

Can anyone take a look and give me a hand. ?

Object Mode

Edit Mode

here is the .blend fileMain.newrig.blend (941 KB)

First, select the rig, then in Pose Mode clear all the bone transforms – ALT+G, ALT+R, ALT+S for Location, Rotation & Scale, respectively.

There will still be some shift in the rig between Edit & Object/Pose mode because the rig has a few flaws in its construction. In particular the target bones for the arm IK chain are awkwardly set in Edit mode – they need the Roll Angle adjusted so they align better with the rest of the rig in that region. Also, their Location is such that when in pose mode, the arm IK chain jumps to a new orientation under the IK constraint. If in Edit mode you snap the IK target bone to the end of the forearm B-bone, there is less of a jump when going back to Pose Mode. The same comments apply to the foot IK chains and targets.

Thanks for your detail reply.
It sounds much complicated than I thought. :spin:

Finally, I change back to Rigify 'cos I suddenly think out the reason why my previous test fail.
I hope not many people did the wrong thing as I.
Previously, I have generated and deleted the Rigify armature several times. Each time it adds a modifier to the mesh and these stuff need to be deleted manually. After I deleted all these stuff and the generated vertex groups. The model is fresh again. Then I simply create the rigify amature step by step and everything works as expected.