Repeated Beam Sensor Inputs interfering with Loop

Given you use delay() to perform the actuator's motion, you don't read the sensor at all during the movement.

Regarding your code structure, you might benefit from studying state machines. Here is a small introduction to the topic: Yet another Finite State Machine introduction

if you want blocking code, you could probably do something as simple as this (typed here, fully untested)

const byte pirPin = 12;
const byte ENApin = 6;
const byte IN1pin = 7;
const byte IN2pin = 8;

void goCW() {
  digitalWrite (IN2pin, LOW);
  digitalWrite (IN1pin, HIGH);
  digitalWrite (ENApin, HIGH);
}

void goCCW() {
  digitalWrite (IN1pin, LOW);
  digitalWrite (IN2pin, HIGH);
  digitalWrite (ENApin, HIGH);
}


void stop() {
  digitalWrite (ENApin, LOW);
  digitalWrite (IN1pin, LOW);
  digitalWrite (IN2pin, LOW);
}

void setup() {
  pinMode (pirPin, INPUT);
  pinMode (ENApin, OUTPUT);
  pinMode (IN1pin, OUTPUT);
  pinMode (IN2pin, OUTPUT);
  delay (60000);
}

void loop() {
  if (digitalRead(pirPin) == HIGH) {
    goCW(); delay (3000);
    stop(); delay(3000);
    goCCW(); delay (4000);
    stop();
  }

  // wait until PIR rests before triggering a new motion
  while (digitalRead(pirPin) == HIGH) ;
}