The STM32 is definitely the go. ST takes a kind of a "kitchen sink" approach, i.e. throw in hundreds of hardware peripherals alongside the licensed ARM core, of which not more than 3 or 4 will ever be used in any particular design, which is slightly revolting from the purist's point of view, but sensible in an economic sense because the cost of the masks dominates everything including the cost of the extra wasted silicon... And stocking costs are also significant.
So choose an STM32, if you are a hobbyist get one on a PCB. I can recommend the 1bitsy, with the Black Magic Probe for programming it. Cheap and open source and leads to a good result, but there may be a learning curve to set up your tools, libraries and and development environment. Or if you want the closed source but easier one that supports the Arduino environment then the Teensy has worked for me.
AVR is obsolete. They were AWESOME in their day when Flash was a new thing and most micro's had a divide by 10 or so clock, and I did many commercial projects with them: display and printer controllers, data acquisition, etc. However, those days are gone. AVRs have traditionally been quite expensive, recently they've dropped their prices by more than half to compete with ARM (mainly STM32 I suspect) but they are still much less cost-effective. For truly cheap and slow controller applications, 8051s can be had for CENTS (I forget brand, can check if you need), for anything else it is crazy not to use a modern ARM microcontroller.
cheers, Nick