The geometry may be clean but the 2 roofs do not line up with each other. I don’t know what the design intent is, but you can get it to line up by either raising one roof up or moving the other down or by making one longer or the other shorter. The bottom edges need to be at the same elevation. to get a complete intersection that cuts through both roofs all the way to the edge.
The reason for failure becomes obvious if you do the trimming and joining manually. If you use booleans it all remains a mystery.
probably the origins of the problem is that the smaller roof is not level. The peak of the roof is .002 higher at one end than the other. That’s more than your tolerance.