I'm trying to control my stepper motor with an IRremote

The motor will respond to the first button press correctly, but then it will just spin forever. Looking at the serial monitor, it will only display the input of the first press and none after that. I have tried many things to fix this, but this is my first day coding like this.

#include <IRremote.h>
#include <Stepper.h>

int RECV_PIN = 3;
IRrecv irrecv(RECV_PIN);
decode_results results;

int steps = 2038;
Stepper myStepper = Stepper(steps, 8, 10, 9, 11);

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value);

    switch (results.value) {
      case 3877175040: // Replace this with the actual value for your up button
        myStepper.setSpeed(5);
        myStepper.step(steps); // Move the stepper motor
        delay(10); // Introduce a delay to control speed
        myStepper.setSpeed(0);
        myStepper.step(0); // Stop the stepper motor after releasing the button
        break;
      case 381032832: // Replace this with the actual value for your stop button
        myStepper.setSpeed(0);
        myStepper.step(0); // Stop the stepper motor
        break;
      case 2907897600: // Replace this with the actual value for your down button
        myStepper.setSpeed(-5); // Reverse direction (example: counterclockwise)
        myStepper.step(steps); // Move the stepper motor
        delay(10); // Introduce a delay to control speed
        myStepper.setSpeed(0);
        myStepper.step(0); // Stop the stepper motor after releasing the button
        break;
    }

    irrecv.resume();  // Receive the next value
  }
}

Make a test code only exercising the remote. When You master that, apply the already tested stepper code.
You make no check that a full IR message is available,

I wouldn't say I've mastered it, but I have run plenty of codes to make sure the remote is working. I got it to turn on LEDs and such, but when I tried to apply that to the stepper, I began to struggle.

That's good.
Remote & Co have not been used here yet.
I suggest using a very powerful tool. It is installing Serial.print telling key data/variables in the code and serial monitor to show. Often several such prints are needed, moved to different places in the code.
That worked well during many years in my profession, facing new and large code packages.