CTI functionality is slowly moving away from the 3CX Client apps, so I would suggest getting used to the WebClient for this function.
Besides this though, on the issue. I have a feeling that you have manually configured your GXP2170 and have not used the provisioning method outlined
here. This could be one reason. This is because when the phone shows up twice, the PBX sees the single device 2 times because the phone decided to re-register with a new Call-ID. Then when the old Call-ID expires, the client disconnects, causing this problem.
Also, I believe the WP800 phone is not supported, and because it is registered against the same extension, this could also be factoring into the issue. So remove it or register it against a different extension.
Furthermore, the GXP2170 I believe is using a newer firmware than what is supported. Check the previous link I sent to see the supported firmware version.
Finally, my advice would be to stick with the WebClient for CTI. If you do all of the above, and with a fully supported setup you still have issues, then I would suggest opening a ticket with the 3CX Support Department to further investigate this.