How can Siri recognize a contact's name, but be unable to call that person?
Believe it or not, this is often a minor activation issue–assuming the iPhone is on Sprint or Verizon. On Verizon, Dial *228 from the Phone app.  On Sprint, dial ##UPDATE# (##873283#). Follow the voice prompts, if any.  The process takes a minute or two.  After you get a pop-up message indicating the update was successful, wait another minute.  You should see your service indicator go away for a moment then come back.

Afterward, try Siri again. This will likely resolve your text message issues too, though a restart of the iPhone (hold sleep/wake button, swipe to shut off, wait, start back up) may be necessary there.