Boolean in manifold way - problem 3D print

Hello Guys,
I cannot get out of this issue, did seek through google but can’t find anything similar.
I need to bool several stone slots into the sub-surfed object surface.
The result provides me lot of intersected faces, zero faces etc. which cause problems during .stl export.

Do you have any idea how to fix the mesh after bool? Do I have to fix all problems by hand?

Thank you in advance.

Object mode, ctrl+A -> scale. Edit mode, select all, W -> remove doubles, ctrl+N. Mesh menu -> clean up -> split concave faces.

Thank you very much.
I already did clean up all joints by hand with support of dissolving degenerate and splitting the concave.

Your method works well on export to *.stl (no errors ) however its leave some zero faces and non-flats.
But it seems to be 3D printable.