I've been vacationing on Ft. Myers Beach at least once a year for about 10 years now. They have the best beach!! You will love it, and probably not want to leave!!
Between the two places you mentioned, I'd choose Diamond Head resort. (I too am not sure that's the exact name, but I know exactly which place it is.) It is fairly new, and seems really nice from the outside. The location is also a good one along the beach. The Best Western Pink Shell is older, which isn't necessarily bad in itself, but the location isn't as nice IMHO.
Not sure when you're going, but be aware that traffic on Estero Blvd. (main road on the island) can be horrible over Christmas week and even more horrible over Easter week. I've never been down there between May and November, so I'm not sure what the traffic would be like then.
Other places you could check for price would be the Sandpiper (where I usually stay), the Outrigger, and the Neptune Inn. They would probably be over your price limit if you're going at peak time. But if you're not, then they may be good options.
Good luck as you plan your trip. Let me know if you'd like any more info about the area. Have a great time!