I want to mount a printed part to a standard 2mm motor axis which doesn't have any dents or profile. Its just round. If I print at exactly 2mm, it fits for the first few times until it gets too lose and the spinning part sometimes falls off.
For production parts look at other materials. Nylon might still be within the range of your 3D-printer.
For attaching: If you can't clamp then look at gluing it in place. If you need it detachable maybe drill a hole in the shaft and use a R-clip.
You can also tap and die the shaft on top. Make sure to use a left or right-handed thread depending on the rotation/load (thread is so that the rotation/force isn't unscrewing it).