Tis the nature of using a 2d texture layed over your uv's, the texture seams wont line up, you'll have to patch it using clone stamp or use a procedural 3d noise that can be applied with object space instead of UV space. And/or make sure UV seems are not visible or in an area with bumpy surfaces, when possible.
also, it's never quite perfect simply because the UV's cant be airtight. there will always be splits in your mesh where the uv seems are. this is the nature of the mesh data structures. with uv's you end up haveing 2 verts stacked on top of eachother because they share the same object space coordinates but have 2 different uv coordinates. this means if the height value or normal is even slightly different on each side of the seam you will see a tear.
another unfortunate fact is uv's are not mapped perfectly to where pixels are in the textures. so each uv could be getting a slightly different filtered value (for sure with several mipmap levels). meaning each vertex on each side of the seam is not guaranteed to see the exact same value simply cause of imprecisions in the mapping
TLDR: just the nature of how it all works.