Observe:
As you can see, the edges of the images are clearly visible.
The problem in your original layers is that both photos are a bit away from each other. And masked area is a bit narrow. That's why your mask isn't working the way you want. It can still work if you increase the size of your brush to mask. But I guess it would cover significant area of your overall composition, which you might not want.
So masking isn't a wrong tool to achieve this effect. Just make sure both photos are close to each other to minimize the chances of a visible edge. Keep both images in a separate layer and group them. (I'll also tend to convert them into smart objects).
Bring them closer:
Apply mask. (You can adjust masking feather later from Select > Select and Mask option)
Another way of doing this is creating a rectangle above photos group and fill a gradient like this:
As others have said, in Photoshop it's always best to keep your images on separate layers, then you can move them independently. There's lots of ways you could fix your problem. Anyway, here's one take on it.
You can group the image layers, then apply the layer mask to the group.
Then, you can select the layer mask, unlock it, and move it, or even stretch it if you need to.
For example:
Probably easier to have each image on a seperate layer and then you can control the gradient mask for each image.
Or just make your gradient bigger.
There are several ways, but extrapolating from the method you appear to be using; central black stripe with vignetted mask, I'd do it this way.
Split your two images to separate layers.
Add a Layer Mask to each.
On each, paint your vignette starting from the exact edge of the image to the distance you wish to fade. It's this exact edge that gives you your total black at the edge point of the image.
They will then composite like this
If you need absolute precision, duplicate one vignette to another layer & rotate 180°