Don't know how many out there might be experiencing this same issue, but when I would try to send a text using the voice command "send text to (contact)" my phone would create a text message with "to (contact)" in the message body while the "to" field was left blank! No matter what I tried, it wouldn't work, very frustrating! 
After doing some reading I discovered two fixes. One or both of which fixed it for me.
Apparently the voice commands will only work with your google contacts (your gmail contacts) for the account associated with your phone. So step one is, export your phone contact list to storage. This is done from "people" then the three little dots in the lower right corner, import/export, export to storage. Now switch to viewing your google contacts and then repeat the process except this time import contacts.
My voice commands still weren't working so i continued to look for answers and stumbled on the fact that the voice commands work best when the language is set to US English. When I checked mine I was disappointed to find that mine was already set to "Default - US English". So I looked through the list and changed the language to something other than the default and then changed it back, but that didn't work either. I continued looking down the list and noticed that US English was listed (without the word default) I figured i had nothing to lose so I went ahead and gave it a try and I was shocked to discover that it worked!
Hope this helps somebody else leave a little hair on their head...

After doing some reading I discovered two fixes. One or both of which fixed it for me.
Apparently the voice commands will only work with your google contacts (your gmail contacts) for the account associated with your phone. So step one is, export your phone contact list to storage. This is done from "people" then the three little dots in the lower right corner, import/export, export to storage. Now switch to viewing your google contacts and then repeat the process except this time import contacts.
My voice commands still weren't working so i continued to look for answers and stumbled on the fact that the voice commands work best when the language is set to US English. When I checked mine I was disappointed to find that mine was already set to "Default - US English". So I looked through the list and changed the language to something other than the default and then changed it back, but that didn't work either. I continued looking down the list and noticed that US English was listed (without the word default) I figured i had nothing to lose so I went ahead and gave it a try and I was shocked to discover that it worked!

Hope this helps somebody else leave a little hair on their head...