MCP23017 Fet Controller with i2c interface

Hi, I have been working with a MCP23017 16-Channel 8W 12V FET Solenoid Driver Valve Controller with I2C Interface on a Pi 4B with Node Red. I am currently using the @joe-ab1do/mcp-pcf-aio node red palette. I have been able to get the system to work, but it is not reliable at all. I have the MCP23017 board powered by a 12V battery, and connected to the PI through an NCD i2c shield. My main problem is that I can switch mainly of the pins on and off, but I can’t ever switch all of them on and off individually, however, the pins that aren’t working change depending on if I reset the power supply to the board. For example, maybe all of the pins except pins 1 and 3 will work on the board and then I will reset the board and all of the pins except 4 and 7 will work now. I am thoroughly confused especially when I am not seeing any errors on the software side. For example if pin3 is not working, it will generated the same message of successful switching that pin4 will except no voltage will be flowing over pin3 and pin4 will be working fine. I am open to any help or advice on what may be causing these issues or what I can try to rectify them. At the moment, the lead issue on my mind is a bad MCP23017 board.