An easy way to understand the differences between these different naming devices is to think about it like this.
A Server Name and a Droplet Name are all user definable, meaning you can truly set these as whatever you would like and it for the most part will just help you remember server a from server b.
Whereas hostnames and domain names have to do with how the public can access your server.
Domain Names are registered with a separate domain registrar and are what you generally see in your browser address bar. For example, if you own the domain name dennis.com you would be able to type that in and the browser would point to your server.
So a hostname is a label that is assigned to a device connected to a computer network and that is used to identify the device in various forms of electronic communication such as the World Wide Web, email or Usenet.
So if I have droplet and I give it the hostname onix.dennis.com if I own the domain name dennis.com I can edit the DNS to directly point to the droplet.
To sum this all up.
Server Name and Droplet Name are for your own purposes to help you remember server A from server B
Hostname and Domain name directly have an impact on how people are going to either access your site or your service that you are providing.
Hostname and Domain Name are directly set to equal to an ip address for the public which is also automatically assigned to your droplet.
Hope this helped a little and if you have any questions feel free to ask away.
I would suggest you read up on how domains and DNS works so you can generally have a good understanding of how the internet works.
Hope this helps and welcome to Digital Ocean,