"Duplicate declaration in current scope" means that the same variable was declared twice in the same sub.
It could mean that the same variable was declared in the Module level declarations in two modules.

Very Rarely someone will declare the same variable twice in the Module level declarations in the same Module or the same Property in a Class Module.

Scope means the applicability of a variable or constant to any particular code

Private or non-Public Variables, Constants, and Procedures in a Standard Module are only available to the Procedures in that module
Public Variables, Constants, and Procedures in a Standard Module are available to all procedures in the Project. All Public Names must be unique in the Project, except in re Class Modules.

Class Modules are a different Story. They should never have Public Variables or Constants. Public Procedures are actually Object Methods. All Names in a Class Module must be unique in the Class. Class Modules and associated Instantiated Objects are, or should always be, self contained, and refer to nothing outside themselves. That's what the Properties are for; An Interface with the rest of the Project.