STL can only store a surface mesh. If the surface is closed then it appears from outside as a solid object, but it is really just an infinitely thin shell.
If Rhino3d can interpret the imported STL file as a solid then when you cut it, the cut surfaces will be capped to it will appear that it has thickness. However, if Rhino3d interprets the imported STL file as a surface mesh then when you cut it, then you will see that the mesh is just an infinitely thin shell.
In Slicer, you can cut a model and cap the cut surface using Dynamic modeler module’s “Plane cut” tool, which will keep the surface closed (thereby preserving the solid-like appearance). You can do Boolean operations on models (union, intersection, difference) using the new experimental module in Sandbox extension: New experimental feature: Boolean operations (union, intersection, difference) on meshes