London's excellent (even if still much criticised!) transport system means that you can stay anywhere with an Underground station nearby; it will never take very long to get any of the main tourist attractions.
The cheaper accommodation tends to be congregated around Kings Cross, Victoria and Stratford. Some of the hotels in those areas are quite good but many aren't; if you're considering one of them make sure that you check TripAdvisor (and other review sites) before booking!
It's generally best to avoid hotels which are towards the southern fringes of the city (unless they're close to mainline railway stations) as the Underground doesn't reach them.
Some of the better (but still affordable) hotels are to be found around Bloomsbury, Kensington and Bayswater. e.g.
http://www.londonhousehotels.com/
At 4 star level (but still not mega-expensive), the Strand Palace Hotel (on the Strand, close to Covent Garden, Trafalgar Square, etc) has been recommended by quite a few AB members in the past:
http://www.strandpalacehotel.co.uk
Remember though that many of London's smarter hotels typically charge £250 to £400 per person per night (with the really top hotels often charging 4 figure sums). So, while you obviously want something a bit special to celebrate your anniversary, you might need to spend some time researching the options to find something decent but affordable.