Blender uses a hierarchical structure to organize data.
Basically the confusion comes from the fact that you can Add a Mesh in Object Mode and Edit mode, but they are not the same.
So what is the difference?
When you add an mesh in Object Mode you are creating both, a mesh and an object. Objects created in object mode are independent of each other, meaning that they will be named with a unique name and will all have their own separate origin (or pivot point), and can be transformed independently.
As an example: Two objects created in object mode show as different objects in the outliner.
Meshes created in Edit Mode are part of the Active object, an already existing object that is being edited.
In this example, the monkey's mesh becomes part of the object called Cube and does not show in the outliner.
Objects can contain one or many meshes, connected or not.
All meshes within that object will share a common origin and will behave as what they are: a single object, meaning they will move, rotate and resize together when transformed in Object Mode.
To answer the question:
Objects must have unique names (blender will not allow the exact same name for different objects). Meshes within an object cannot have a name.
If you need to differentiate parts of an object, you can create vertex groups. Vertex groups can be named, but they will still be part of the same larger object that encloses them and cannot be selected directly in object mode.
To separate parts of a mesh and turn them into a new independent objects (with their own unique name and pivot point) you use the separate function (pressing P) and choosing if you want to separate by selection, unconnected parts or materials.