Hi there
If you like E46 M3 go that way, 20k will get you a nice low miles E46 and the E46 M3's are been hit very hard at moment so it is a great time o buy:
Manual VS SMG - Drive both though I dislike the robotic clutch in some cars like R8 and Aston, BMW did a better job and the manual is not exactly great.
Remember to check boot floor for cracks, if car is over 90k miles a rod bearing refresh is a good idea and check all arches for corrosion.
They are superb cars, literally do everything so well.
Or as Simon says look at the E9x M3, another great option.
Also if they fit within budget do check:
987.2 Cayman / Boxster
997.2 911 Carrera (probably over budget)
Other option is maybe a high mileage Alfa Giulia Quadrifoglio, they must be close to 20k now as I got mine for 26k a few years ago, drive and handle better than equivalent M3 in my opinion just make sure the 3rd year service has been done as it is around £1500-£2000 and a lot of owners move the car on before this is due as the belts are labour intensive to do.
I noticed you mention MK1/2 Golf, they don't drive great, a 106GTi is a better drive if you fancy an old school hatch but personally do as I've done go find yourself a good condition E30 325i Sport, they drive superb, practical, easy to work on and plenty of fun to drive.