Cheer up L.! There is a solution. The last two sentences in your request gave away the solution the moment I read them. Very simple to do, maybe a bit irritating at first but you are the mom, the stronger of the two, and will get through it.
I love your routine of lunch then naptime for a couple hours. That was my routine the entire time I worked in daycare teaching 2 yr olds, also when i had daycare in my home and as much as possible with my own children.
Cut down the naptime. Put her down immediately after she finishes her lunch. Normally at this age they are asleep within 15 minutes. From the time she actually falls asleep until an hour and half later, allow her to sleep peacefully. THen awaken her! Yes, do it gently with excitement in your voice suggesting something like, "It's snack time!" And then you keep her active so she will remain awake until the 8 o'clock bed hour!
I had to do with several children and it worked like a charm. Sure some awaken a bit cranky, but they get over it quickly if the parent remains calm and unaffected by the whining. As soon as they begin to munch on the snack they will cheer up. I promise it works! By 8 p.m. she'll be ready to sleep once again and will fall into it quickly without headaches for you.
Good Luck! And please keep a positive thought with whatever you are doing for your baby girl. The time flies so quickly by us. Those moments of singing them sleep, rocking them, snuggling them and reading to them fall by the wayside much sooner than we want them to do so. Usually that is brought on by growth and maturing, but also by the behavior of the parents at bedtime.
God Bless You and your fmly.