Why do I have an IPv4 and IPv6 address at the same time?
Because your ISP supports IPv4 and IPv6. They're not mutually exclusive.
(And somewhat unfortunately, they are entirely separate – an IPv6 address cannot be used for speaking IPv4, and an IPv4 address cannot be used with IPv6. [It's like Skype and Viber, if you want to use both, you'll have separate addresses on both.]
Therefore, as of now, it'd still be rare to find an IPv6 user who doesn't have an IPv4 address of some form to allow them to connect to v4-only servers.)
… some servers see my external network address as an IPv6 while others as an IPv4. Why?
Some servers support both IPv4 and IPv6, so the OS chooses to connect via IPv6 and the server sees your IPv6 address.
Other servers support only IPv4, so there isn't much of a choice; they'll always show an IPv4 address. (Often it's because the hosting company doesn't have IPv6 support, e.g. AWS; but sometimes it's just laziness on behalf of the server admins.)
With IPv6, you can communicate with other computers that are using IPv6, without needing to use some sort of device performing complicated IPv4-to-IPv6 translation in the middle of the communication.
With IPv4, you can communicate with other computers that are using IPv4, without needing to use some sort of device performing complicated IPv6-to-IPv4 translation in the middle of the communication.
These two different protocols are essentially two different ways to do the same thing. Since some computers/devices on the Internet (or your local network) might be using only one protocol, it makes sense for your system to be ready to communicate with both protocols, so you can easily communicate with such devices.
There really isn't a great amount of cost/harm in having multiple addresses, so the primary reason is for your potential convenience to communicate with various other devices.
You could disable one of the addresses. I don't particularly recommend doing so. The world is in a (quite slow) process of converting a lot of devices from IPv4 to IPv6, so having both is a good idea. The primary reasons I can think of to use just one address are:
to control incoming network traffic, likely as a way of making a limitation that could help security. However, there are better ways of implementing security that can work with both types of addresses, so even that one reason isn't really a good one.
if there are problems with one type of address, such as if IPv6 isn't supported/working. Generally, the preferable approach is to just fix such problems, so that such problems don't exist. That provides an end result which is generally better than excluding one of these types of addresses.
Unless you can come up with another reason why you don't want both types of addresses, simply enjoy having both types of addresses. It's not a bad thing.
As for how external devices are viewing your computer, that will likely depend on what protocol is being used. Commonly, software will use what is supported by a remote site's DNS entries. So, the difference can come from a case of DNS returning IPv6 "AAAA records" for some sites, and IPv4 "A records" for other sites.