Really, because it's pretty clear to me, but I'll try to explain anyway:
You have to use GetRawInputDeviceInfo for each of the devices returned by GetRawInputDeviceList to get more info about the devices, but you're already doing this, since you mentioned you're only looking at the keyboard devices.
Next, from what I understand of that stackoverflow response:
1) The first keyboard device returned by GetRawInputDeviceList (in the order in which GetRawInputDeviceList returns them), is a sort of virtual keyboard created by the system, which handles keyboard events from all physical attached keyboards.
2) The second keyboard device is a physical keyboard - if there's only one keyobard attached, then this is it.
3) The third keyboard device is also physical
4) So on...
If that is true, then IMO, you should either use the first device (the virtual one) if your game requires only one keyboard, the second one if you want the "main" keyboard", or offer a choice between all of them. Unfortunately, I cannot find this info anywhere on MSDN, to verify if it's correct, but like I said, I tend to trust stackoverflow most of the time.
As for why you're seeing three (or four?) keyboards when you say you only have one: could the extra ones (after the first two) be Bluetooth devices? You can verify in Device Manager.
...clarify anything and doesn't even help the OP...
Aren;t you the OP?