

Well, adding a code license alllows other people to use your code. Technically now, you reserve all rights to your code and it is illegal for us to look at it or use it.
Those other two make it easier to manage dependencies and setup python virtual environments. Additionally, they allow the package to be more easily to software repositories like Nixpkgs or Debian or Arch. It’s also just an industry standard. Poetry has been used to manage pyprojects for years, but uv is a popular tool too and what I use.
CC, depending on which version you choose, is pretty much open domain. I personally would stay away from it for code, but there isn’t really anything wrong with it. MIT is also pretty permissive, but derivative copies of your work need to acknowledge that you wrote the code. GPL is something called Copyleft. It protects both you, your users, and your code to the highest degree. You retain the copyright but also anyone who takes your work and modifies it must also give their source code with the program. I’m simplifying here some, but I recommend you look up the definition of Copyleft licenses, its history, and why the GPL is so important. I emphatically recommend that you choose the GPLv3. But in all reality, there is no “best”. It depends on what matters to you and how you want the code to be used.
It is definitely an important topic to learn about. To be honest, I’m surprised you programmed as far as you did without knowing about them. Great work.