Are these things are built up in a 3D modeller like blender or if not where?
When you want anything in a Unity scene which is more complex than the basic shapes it offers, you won't get around either using a 3d modeling program or to generate the mesh procedurally from a script. When you don't need infinite randomly-generated variety, a 3d modeling program is usually easier.
Should I model separate parts of it and than combine them or should I model the entire thing as one object?
That depends. Do you have to split it? That depends on how many building you have, how large they are, what level of detail they have and the rendering capabilities of your target platform.
If it turns out that having a full high-def model of your building in your scene is too much, then splitting it up has the advantage that you can use LOD groups and thus allow Unity to use a different level of detail for each part of the building.
You might also get away with only activating the interior of the building when the player enters it and deactivating it when they leave it, but only if the player can not look into buildings from the outside or interact with things in buildings from the outside. You could even extend this system to only activate the room the player is in and any rooms they can look into from that room.
Also, any furniture items in your buildings which you might want to reuse (or even want the player to be able to interact with) should be individual game objects and not part of the geometry of the building interior. The reason is that Unity can save a lot of resources by reusing meshes. So if you have a room with 20 identical chairs, don't copy&paste the chair 20 times in your 3d modeling program. Model one chair as a separate 3d model, create one chair-prefab from it in Unity and drag it into the scene 20 times as children of the building interior.