iMessage - Why is someone prompted to pick one of my connected iMessage contact points? I have my phone/mail(s) connected in iMessage

The other user has all of this information in a single contact card for me

When they message me, they are prompted to pick one of the 3 methods - why is that?

This user's chats are showing up as multiple separate threads on my phone, really annoying!

How can I fix this?
I have rechecked that both my phone and the other user's contact info is correct
There are a few cases were this could be helpful, e.g. I change numbers frequently -say because of traveling- and because of that I prefer to connect my mail for iMessages.

But of course contacts can also regular-SMS me at my old number and so on.

To cover these cases (and probably make the logic behind them simpler) they have decided to create the (i)Message threads per phone or mail and not per contact.

As for you second question, there is not really something you can fix. Just ask the other person to contact you on a specific "endpoint" and delete the other threads. Use only that one to communicate.

I suggest you use your email for that purpose, unless you are using regular SMSs too.