When I open the serial monitor and depress the switch "UP" is printed 6 or so times. I would expect it should only be printed once. Why is this? I checked my switch output on the scope and it looks clean.
What you have to understand is that the resolution of digital electronics is a few nanoseconds, and things like contact-bounce in switches are on a timescale of milliseconds. Thus every bounce of the metal contacts in the switch will cause a new switching transition on the pin that's generating interrupts.
The solution to this contact bounce is not a schmidt-trigger (thats only needed for slowly varying waveforms), but is either
software debouncing - ignore all transitions that occur within a certain time of the first transition. Timescale of 10ms would normally surfice.
pass the output from the switch through a low-pass-filter to smear-out the bounces, then pass that signal through a schmidt-trigger to turn it back to a digital signal.