Garmin Edge 520 should work for all those features. Since people are upgrading to the 530 or other newer models you can find used ones on EBay for around $100.
I use RidewithGPS and create my routes there to download to my Garmin. I add my own custom markers to the cue sheet like “climb starts here” or “1/2 to summit, you can do it!!!” or “dirt road ahead” that display on screen.