I think it is a different "Mary" and I think you have John the apostle mixed up with John the Baptist -- who was the cousin of Jesus.
Well....you can think about it all day long, but you cannot change the words in scripture. "Salome" was the mother of Zebedee's children [Matthew 27:56]. We know this by the process of elimination. [Mark 15:40] identifies her by name. [John 19:25] identifies her as the sister of Our Lord's mother. [Matthew 4:21] identifies Zebedee as the father of John and James.
You had better read those scriptures again before saying "This is a different Mary". That's just silly in the light of plain scripture.
When you eliminate Mary the Mother of Jesus, Mary Cleopas, and Mary Magdalene from the crucifixion scene....you are left with "Salome". She is the aunt of Our Lord and the mother of James and John.
John the Baptist was indeed a distant relative...not a first cousin. His mother and Mary were relatives...not first cousins. Mary was of the House of Judah and Elizabeth was of the House of Levi [Luke 1:5]. They were relatives....but distant...perhaps 2nd or 3rd cousins...so John The Baptist would have been further yet from Our Lord.
On the other hand I have given you Biblical proof that Salome was the aunt of Our Lord....and her children, James and John, were first cousins of Our Lord.