You need to give each object the same texel density. This defines how much area of the image is mapped onto the 3D object.
A Checker Texture can give you a good visual impression of this. Make sure that for all your objects the Scale is applied to them (Ctrl+A, Scale in Object mode).
UV maps help to minimize distortion and stretching. It gives you the most control. In the UV Editor workspace you can unwrap your objects.
To change the scale of the textures, add Mapping and a Texture Coordinate node in the Shader Editor. Connect the UV output (or try Generated or Object) of the Texture Coordinate node to the Mapping node. Then adjust the Scale values in the Mapping node. I've used 1.3 for the torus, 2.3 for the sphere, and 1.0 for the cube. But the values depend on the UV map layout and the model.
Alternatively, you can scale the UV islands (S) in the UV Editor (top left in the screenshot).
The goal is to have all squares of the checker texture almost the same size with a minimized amount of distortion and stretching. Then the grain textures will have the same scale, too.
For the bumps I've used a Texture Image node with an image. You can use here the Voronoi node as you did. When you're happy with the scale of the grain texture just remove the Checker Texture nodes.