Thanks for the feedback Andy. I did manage to find the problem, there were orphaned surfaces and vertices inside the model because of how it had been put together. in the end I had to go back to working with the separate pieces, fix the issues there, combine them, then perform my boolean operations in a specific order.
It's sliced and ready to print right now.