False triggering of inputs

Hi all, i'm having a small problem with a fire alarm system i created, its a very basic system you hit a button and it sounds an alarm, yet i keep getting a false triggers and the bells are a sounding, iv'e recently modified the code to include pullup instead of the pulldown resistors i had on the buttons it worked for a short time but the problem persists, i know the code is long and laborious but i was looking for a stable basic code before i modified it, any help would be gratefully appreciated

#include <LiquidCrystal.h>
#include <Relay.h>

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

int PowerRelay = 46;
int AlarmRelay = 47;
int AlarmTest;
int AlarmTestButton = 49;
int ClearAlarm;
int ClearAlarmButton = 48;
int AlarmSilenceButton = 45;
int AlarmSilence;
const int FA1 = 30;
const int FA2 = 31;
const int FA3 = 32;
const int FA4 = 33;
const int FA5 = 34;
const int FA6 = 40;
const int FA7 = 36;
const int FA8 = 37;
const int FA9 = 38;
const int FA10 = 39;


int ButtonState1;
int ButtonState2;
int ButtonState3;
int ButtonState4;
int ButtonState5;
int ButtonState6;
int ButtonState7;
int ButtonState8;
int ButtonState9;
int ButtonState10;


void setup() {
pinMode (PowerRelay, OUTPUT);
pinMode (AlarmRelay, OUTPUT);
pinMode (ClearAlarmButton, INPUT);
pinMode (AlarmSilenceButton, INPUT);
digitalWrite (AlarmRelay, HIGH);
pinMode (PowerRelay, LOW);
pinMode (FA1, INPUT_PULLUP);
pinMode (FA2, INPUT_PULLUP);
pinMode (FA3, INPUT_PULLUP);
pinMode (FA4, INPUT_PULLUP);
pinMode (FA5, INPUT_PULLUP);
pinMode (FA6, INPUT_PULLUP);
pinMode (FA7, INPUT_PULLUP);
pinMode (FA8, INPUT_PULLUP);
pinMode (FA9, INPUT_PULLUP);
pinMode (FA10, INPUT_PULLUP);


lcd.begin(16, 2);
lcd.setCursor(0, 0); 
lcd.print("SYSTEM READY");
lcd.setCursor(0, 1); 
lcd.print("NO FAULTS");
 
delay(1000);



 

}

void loop() {


  
 
AlarmTest = digitalRead (AlarmTestButton);
ClearAlarm = digitalRead (ClearAlarmButton);
AlarmSilence = digitalRead (AlarmSilenceButton);
ButtonState1 = digitalRead (FA1);
ButtonState2 = digitalRead (FA2);
ButtonState3 = digitalRead (FA3);
ButtonState4 = digitalRead (FA4);
ButtonState5 = digitalRead (FA5);
ButtonState6 = digitalRead (FA6);
//ButtonState7 = digitalRead (FA7);
//ButtonState8 = digitalRead (FA8);
//ButtonState9 = digitalRead (FA9);
//ButtonState10 = digitalRead (FA10);



if(ButtonState1 == LOW){
digitalWrite (AlarmRelay, LOW);
lcd.clear();
  delay(1000);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("FITTING SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #1");

}
if(ButtonState2 == HIGH){
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("FITTING SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #2");
}
if(ButtonState3 == HIGH){
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("FITTING SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #3");
}
if(ButtonState4 == HIGH){
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("FABRICATION SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #1");
}
if(ButtonState5 == HIGH){
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("FABRICATION SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #2");
}
if(ButtonState6 == HIGH){
  delay(150);
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("MACHINE SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #1");
}
if(ButtonState7 == HIGH){
  delay(150);
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("FITTING SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #1");
}
if(ButtonState8 == HIGH){
  delay(150);
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("FITTING SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #2");
}
if(ButtonState9 == HIGH){
  delay(150);
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("MACHINE SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #");
}
if(ButtonState10 == HIGH){
  delay(150);
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("MACHINE SHOP!");
lcd.setCursor(0, 1); 
lcd.print("ALARM NUMBER #");
}
if(AlarmTest == HIGH){
  delay(150);
digitalWrite (AlarmRelay, LOW);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("ALARMS IN TEST!");
delay(10000);
lcd.clear();
digitalWrite (AlarmRelay, HIGH);
lcd.setCursor(0, 1); 
lcd.print("TEST COMPLETE");
delay(3000);
lcd.clear();
lcd.print("SYSTEM READY");
lcd.setCursor(0, 1); 
lcd.print("NO FAULTS");
}
if (AlarmSilence == HIGH){
digitalWrite (AlarmRelay, HIGH);

}
if (ClearAlarm == HIGH){
digitalWrite (AlarmRelay, HIGH);
lcd.clear();
lcd.setCursor(0, 0); 
lcd.print("NO FIRES");
lcd.setCursor(0, 1); 
lcd.print("ALL CLEAR");
delay(3000);
lcd.clear();
lcd.setCursor(0, 1); 
lcd.print("SYSTEM RESETTING");
delay(2000);
lcd.clear();
lcd.print("SYSTEM READY");
lcd.setCursor(0, 1); 
lcd.print("NO FAULTS");
 delay(250);
}
}

It's not likely the answer, but, in setup() you have
pinMode (PowerRelay, LOW);

How long are the wires between the swiches and the processor inputs? Long wires can act as antennas and pick up noise. This can be mitigated by using stronger pullups (lower value pullup external resistors). Start at 10K and go lower. I wouldn't go lower than 1K. If that does not work, shielding the cables may be necessary.

My quick suggestion is to condition the FA switches through code. I believe there is a switch debounce example in the examples you could use to activate the fire alarm if the switch is activated for at least 100 ms, the time may vary. This may eliminate any noise that could be coming in on your switch lines.

It compiles with #include Relay.h
commented out. What use is Relay.h ?

Thank you all for your suggestions, i was thinking it may be the possibility of noise on the lines as they are very long but wasn't sure, i have a 10K pulling to ground on the buttons, i did recently change to a pullup on FA1 using the on board pullup just to see if that made a difference but sadly not, ive never had a problem with false readings before so iv'e only recently looked into pulling up instead of down, what would you guys recommend for this particular instance.