I figured it out! My problem was using the delay function. Once I searched multi-tasking in Arduino topics, I learned I needed to use a timer and then execute operations or functions according to time elapsed instead of trying to latch a temporary input. This freed up my loop to always be able to see a button press. Thanks for your help!