So there should be nothing tricky or confusing here.
There is VAT you pay, and VAT you collect.
If you make a sale to a UK customer you are required to collect 20% VAT on behalf of HMRC. So, all things being equal
You make a sale for £120.00 to a customer. That is the total they pay.
You have collected £20.00 VAT on that sale. (£100.00 product price, £20.00 VAT - 20%)
You then give that £20.00 you collected to HMRC.
On the transaction Amazon charge you 17%. So you pay Amazon £20.40 fees. VAT must also be charged to you - the customer of their service (VAT on sellers fees) on that £20.40 - and additional £4.08. They give that £4.08 to HMRC.
So VAT isn’t being paid twice as you put it, it is being paid for different transactions.
With VAT however, it is a tax on the end consumer - a consumption tax. This means that for normal VAT registered businesses you can offset any VAT that your company has paid out relating to the supply of goods or services to your customer against the VAT you have collected from them.
So in practice (and extremely simplified) your VAT return balances out to look like
VAT collected £20.40
VAT paid out £4.08
VAT owed to HMRC £16.32
Now in practice, the VAT treatment on Amazon is more complicated. Because they bill their sellers fees from another EU country, VAT regulations state that the VAT is actually zero’d on the invoice and you simply record its event on your own VAT filing without money changing hands for it. You can read up on it if you want to.
https://www.vatglobal.com/reporting-obligations-vat-guides/the-reverse-charge-mechanism
In summary, while VAT registered, if you have not been claiming back the VAT on Amazon seller fees as part of your VAT returns, or haven’t informed Amazon of your VAT number to implement reverse charge, then yes, you are correct to recover the VAT paid on seller’s fees.
This also doesn’t fully work the way I have written above if you are using the Flat Rate VAT scheme which is a different VAT model.