Issues with attachInterrupt

To be a little less subtle, mechanical contacts have 'bouncing' characterization. Debouncing is the process one uses to try and deal with them using external components or software functions or both. If a switch contact is directly driving a interrupt input pin it's usually best to try and debounce the contacts externally with circuitry rather then software functions inside the ISR routine.