Hello - I would work at the surface level on this not rely on Boolean operations - where there are coincident faces and edges, these will often fail. In addition the model is on the messy side - overly complex surfaces and out of tolerance edges and vertices on these objects.
I’d think about making much, much simpler surfaces but working with this set of objects, Explode, intersect and trim the surfaces that overlap, then join piece by piece at the surface level until you get a closed object.
Some training material-
Level 1
Level2
Also, the purple object has self-intersections - this will never be a good thing for Boolean operations:
-Pascal