St John is my favorite also.
What I enjoy is the serenity, you really feel like it's your private island (although that's changing rapidly) the beaches are beautiful and the restaurants are superb with good service and if you know where to dive it's great.
There really isn't another St John anywhere in the Caribbean.
But you'll probably enjoy Antigua like mentioned above.
If diving is reply important then Bonaire has some of the best in the Caribe it also has many beautiful tiny beaches with crystal clear water almost anywhere along the coast and decent restaurants with good service.
Then there is Culebra with hardly any amenities about a third the size of St John where you can rent a Jeep or Golf cart and it has enough casual restaurants and excellent snorkeling and diving to satisfy most.