I bought hosting and a domain from the hosting company and they messaged me asking for "name servers for them to point to". I am new to all this DNS stuff and don't really know where to get these addresses from. Do I need to get them from some public DNS provider or from where? Thanks
The question they are asking is "where is your DNS going to be hosted" and this is usually the nameservers of the hosting company where your website is going to be. It might be the same as where you bought the domain but not necessarily.
The nameservers will generally look like
ns2.hostingcompany.com - they will tell you what you should use.
If you bought the hosting and domain from the same place and they are asking you that question, I would seriously be wondering if they were the right people for my hosting.
I run a web hosting business and the one piece of advice I can give you, especially since you seem to be a novice, is to have everything (domain registration and hosting) with one company. I have seen so many people distressed because they got confused about where resources are located or haven't understood that there is more than one invoice and lost a domain. Trust me on this.
There is a bit to unpack here. For most domains the "moving parts" are as follows -
Domain Registration. This is who you pay money for to acquire and renew the domain. The registrar needs to know the DNS servers to use (see below)
The Domain Name Service Provider. By default this is usually the same as the domain registrar. All the domain registrars I'm aware of provide DNS service - normally bundled in the price of a domain name. It is possible for the Domain name service provider to be someone other then your registrar, and for companies with specific technical needs this is beneficial. (Normally these are companies like Cloudflare or web hosting providers that seek more control of DNS to better control/balance web hosting).
There are services associated with the domain. There are lots of others as well, but the 2 main ones are Web and mail. It is easier to delegate mail to someone else's mail server for them to control then for email. For this reason web hosts sometimes prefer you to host DNS with them - in case they need to change IP addresses of the servers your site responds to.
Separate to the above, there are (simplifying a bit) 2 types of DNS servers - those which are authoritative - ie those that have the information for a specific domain name coded into them - and the ones you need to concern yourself with here, and recursive nameservers which know how to find the authorative servers and get the information from them. Public DNS servers fall into the latter category. You need recursive servers for your computer to find sites in the Internet, but not to host a website.
How to Handle the Situation before you
As you have bought the domain name and web hosting from the same provider the first step would be to point out that they are doing both services, and to seek clarification why they have asked you this. You should then make up your mind as to whether it was an oversight or if you should be dealing with another company that understands the interplay between the parts. (This is well understood).
As far as "where to get the DNS stuff" - as you are not running your own nameservers, the answer requires you to work out whether you are using your registrars nameservers (which is probably a good idea here), your web hosters nameservers or someone elses. You would then get them to provide the domain names of their nameservers. If in doubt, go to your registrar and confirm that they provide DNS service and use this. Ask your registrar what their nameservers are.
So, no, you don't get them from "some public DNS server". (I suspect this question is more closely related to recursive servers which are not relevant)