You really need to contact a sales representative, they will be able to answer your questions. There are many variables involved so it's not as simple as it seems. For example, Q5 depends on how often the users ping the server (concurrency), how big their reports are, whether reports are processed on the server or client, number of extracts and subscriptions being executed (how long do they take, how often do they run, how big are they, etc.), etc.
What works for one of us may not work for another.
First, I'll say that Administrator Guide is a great place to start, or the downloadable PDF at http://downloads.tableausoftware.com/quickstart/server-guides/en-us/server_admin82.pdf.
With those things being said, I'll say that this is a very broad question, and if you were to contact a Tableau sales representative or consultant in an official capacity, they could talk to you about the above for a long while to find out what works best for you, and communicate useful information the whole time. As such, trying to sum it up in a small forum post doesn't really address your questions or all of the needed answers adequately. I'm going to try to do it anyway.
1. There are 2 separate license types - a core and a named user. The named user is a pay-per user basis, while the core is a pay-per physical core license. For the size you're talking (25 users) the user model is the way to go, and does have a license key associated with it. Your client should have a customer portal that they can log into (http://www.tableausoftware.com --> Support --> Customer Portal). If they can't get into the portal, you may want to contact your sales rep for access. They should be able to assist. You can find your key once in the portal.
2. I had a bit of difficulty understanding this question, but the licenses should work as following:
a. Install the Desktop Licenses on the machines of people that will be creating/authoring reports.
b. The Server Licenses are part of your License key - you can assign them in your customer portal to keep track, but the bottom line is that you have 25 users you can allocate. All you need to do is create a new user on your server (or pull them in from active directory), and let the user know they are enabled on the server, and give them the username/pass if necessary.
3. Interactor on your invoice refers to a user that can log into your server to view reports. Desktop refers to a user that can install and use the Tableau Desktop tool to do report creation.
4. This really depends on #5, your use case, and a whole host of factors, but look in the server admin guide for some guidance here.
5. This is only part of the puzzle. When I scale servers, there are a number of factors that come into play, but core count and RAM are the most important. We generally estimate 20% concurrency to be on the safe side. In your instance, we'll say 4-5 users, though in small deployments, concurrency is often higher. 16gb seems reasonable - couldn't hurt to go a bit higher, but that's definitely reasonable. I would recommend the core count be at least 4 cores. 32 or 64 bit also comes into play. You can see more of the technical specs at All Technical Specifications | Tableau Software.
You mentioned architecture in an earlier question - I'm not sure what you are referring to as architecture, whether that is Tableau process architecture, architecture for distributing a server, architecture of how your physical server should look, etc. As always, I refer you back to my original disclaimer which is advice here is very limited in scope, and you could probably spend hours discussing all of these things in detail.