It doesn’t have to be the same size but if your finger bones aren’t located on the knuckle, the fingers will not rotate around the knuckle. Instead, they’ll rotate about wherever you put the bone. The position of the bone is the center of rotation.
I would have liked to export this character to a game engine, but to be able to use the animations provided by the engine and the “market place” I must use a specific skeleton. But this skeleton does not correspond well to my model, and I avoid modifying it for fear of having problems during the importation into the engine.
The odds are very high (not necessarily perfect) that you can get what you want by taking your skeleton and moving the bones. Select the armature, enter edit mode, select and move (‘g’) bones into places appropriate for your mesh. Then, it ought to work more nicely.