That's exactly why I like St. Croix. We're at Hotel on the Cay, which is a very small island with the one hotel, a small bar/restaurant, a beach and surrounded 3/4 by a coral reef. It is a short (3 minute) and free boat ride to Christiansted, which is where you are an easy walk to the restaurants and shops. It's where most of the boats leave to take you to Buck Island, which is the largest underwater National Park in the US. There is also a sea plane and helicopter that leave there for island tours.
Some of the other hotels on the island are nicer, but you have to drive everywhere and/or they don't have a beach. If you want to do any island exploring for the rainforest, sugar mills, beer drinking pig, Cruzan rum factory (!), you will need to drive or take a taxi.
On St. Thomas, there are quite a few options for hotels. Some of them are near to the shopping and restaurants and others are near the beach (Megan's Bay is very nice). I haven't stayed there in probably 20 years, but I don't remember any that are convenient to both. If you do go to St. Thomas, I highly recommend you taking the 30-minute boat ride over to St. Johns as well.
CJ