Intersecting shapes in edit mode to create single shape
There's an addon called TinyCAD, which I think is implemented in Blender by default, so you just have to activate it in the Preferences.

Once activated, select all your vertices in Edit mode, then right click > TinyCAD > XALL Intersect Selected Edges. It will create a common vertex everywhere the edges are crossing. Then you just need to remove the doubles with AltM > Merge By Distance, and remove all the inner vertices.