How can I stop my 21-month-old from putting things up her nose?
This is a tough situation since she doesn't understand the dangers involved. The first thing you should do is have her examined by your pediatrician or family physician to make sure there isn't something irritating her nose that she's trying to scratch with these foreign objects.
Often a child will do something like this because it's the best way she knows to get your undivided attention. (As you said, you stare at her all day!) So in addition to preventing her from putting things up her nose, you've got to teach her new ways of getting the attention she craves.
Giving her a time-out when she tries to put something up her nose can help. Limit the time-out to no more than a minute. Your goal isn't to punish her, but to put her in a situation in which she's ignoredthe opposite of what she's striving for. So don't yell at her or do anything else aversive. Simply take whatever she's using out of her hand (or nose!) and say, "Don't put anything in your nose. You get a time-out." Then put her in an empty playpen and simply ignore her for a minute. Remember that the most important thing is for her to associate trying to put something up her nose with being ignored.
At the same time, you've got to give her extra attention when she's acting in a way you like, such as playing with a stuffed animal. This isn't a time for subtlety; lay it on thick. ("Oh, you're doing such a great job of playing with Horsey! Can we play together? That's wonderful!")
Once she realizes that she'll get be ignored if she tries to put something up her nose, but get extra attention for doing other things, she'll change her behavior.