Grundsätzlich:
In *.h Dateien sollten sich keine Definitionen befinden.
Sondern nur Deklarationen.
Die Definitionen gehören in *.cpp Dateien.
Falls dir der Unterschied nicht klar ist, wäre es mal Zeit dass du dir ein C/C++ Buch unter das Kopfkissen legst.
Alternativ: (denn keine Regel, ohne eine mögliche Ausnahme)
~~ int PUL_A = 42;~~
static const byte PUL_A = 42;
Es macht übrigens überhaupt keinen Sinn, in eine *.h Datei sowas zu schreiben:
AccelStepper Achse_A(1, PUL_A, DIR_A);
pinMode(ENA_A, OUTPUT);
Begründung:
pinMode() ist an anderer Stelle schon extern deklariert.
Da muss man sich nicht kümmern.
In der *.h die Deklaration
extern AccelStepper Achse_A;
In der zugehörigen *.cpp die Definition
AccelStepper Achse_A(1, PUL_A, DIR_A);