if you use Boundary Surface component the surfaces are built without errors:
about the colored panels, there are several ways to do that but the one I usually go with is by Elefront plugin: