iOS should intelligently work out what device is being used and count from one device at a time. So for example if you have your iPhone in your pocket, but are also wearing your Apple Watch it will count steps from only one device. If you then put your phone down but keep walking, data is still recorded. However not all devices are equal, and iOS prioritises some more than others. If it values your phone above your watch, things can sometimes go a little wrong.
Thankfully there is an easy fix. Open up the Health app on your iPhone. Then tap the red Activity square. Tap ‘Steps or walking distance’, and then ‘Data Sources & Access’. This will give you a list of all of your iOS devices that are recording health data. This could be filled with every device you have ever used, so could be a confusing mess.
In short, make sure all Apple Watches are above all iPhones. I have a huge long list of devices old and new – so I taped edit and moved all of my Apple Watches to the top and all iPhones after. This will make sure Apple Watch data is recorded at all times, unless it is not on your wrist. This should make your steps counts and activity levels much more accurate. Although if things are still not being recorded correctly you may have to look at other options – if in doubt speak to Apple directly.
As a side note don’t remove any old or duplicate devices as this will remove the historic data from your Health app.