Anyone know why this happens and how to make it show only one instance of each?

From the comments, I was able to resolve this using the following command:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user