Go to Florida. Stay at Lauderdale by the Sea. Here is a cheap hotel.
Dee Jay Beach Resort
They have good/clean rooms but there are some bad sections of the hotel. We stayed there for a month and had one of the better rooms. Large with Dinning rm, Living rm, kitchen, mstr bedroom, bath, two walk-in closets, spacious but outdated.
You can shore dive from here. Walk across the Street, then accross the beach, jump in the Ocean and you will run into the first reef 75 yards out. There are three reefs you can explore. The water is 20' deep max on the first reef. There are beach showers on your way to/from the Beach.
The market is a two block walk. They have a Liquor store, groceries and a few other shops. There are a few decant restaurants within easy walking distance as well as a dive-shop. Basically everything you need is within walking distance, but some things are a longish walk.
If you want a better Hotel look online as they are easy to find. I would stay at LBTS regardless of what you do as you have good beach access and a reef right there.
There are dive boats in Lauderdale as well as Palm Beach, Delray Beach, Boca Raton, Deerfield Beach, Pompano Beach, Dania Beach, etc. These are not within walking distance. Do a boat trip or two. Shore diving is fun but you see much more dramatic reefs and wrecks from a boat.
I think the Diving is better in the Keys, but there is no shore diving and the boats run $65-85 for a two tank trip. There is no Beach in the Key Largo area vs. a very nice beach at LBTS.
Have Fun!