@fionas76543059 Yes you can have it. That is exactly why we use categories for. What AEM does is, it will compile all the files in the same categories to a single JS or CSS file and include it wherever that category is referred.
Let us say you have scenario where you are using same category name for two different projects
Proj X --> Clientlib Category AB
Proj Y --> Clientlib Category AB
When you include your Clientlib AB for you Project X , files in both project X and Y 's clientLibraries will be compiled and added as single file. Same way when you add the Clientlib AB in Project Y.
So when adding categories value , you have to keep this in mind. Categories can be same given you intend to use it along with the rest of the JS and CSS in Clientlibs with same category name elsewhere.
If your clientlibrary is your project specific , make sure to give unique category name so that unwanted JS or CSS doesn't get added to your project.
A simple example would be cq.authoring.dialog categories used in ClientLibraries , which we need to be added as part of the authoring dialogs to do some custom actions on the dialogs . If you use this category name in your ClientLib folder , it will add your JS or CSS to the rest of the files already under the same category in different locations and then compile them into one single file.
You can go to http://localhost:4502/libs/granite/ui/content/dumplibs.html in your local and check for all the client libraries which gets included for a particular category.

Hope this helped.
Thanks
Veena