There are a few ways to achieve this technique.
1) Make the dough by creaming the fat (I always use butter for flavour) with the sugar then mixing in flour, not rubbing the flour into the fat which creates a crisp with a short texture. This is because when you rubbing the flour into the fat it traps the flour and coats the gluten preventing a tough texture, when you cream the fat and sugar this does not a occur and a softer texture results. Additionally adding more fat creates a softer dough although chill the dough first to prevent the cookies spreading too much.
2) This sounds a bit obvious but just bake the cookies less. Try baking them until only the outside is golden brown, leaving the centre soft. If you do want them to be golden all over before they bake give them an egg wash (an egg beaten with some milk) or milk and sugar wash if that's preferable. Remember don't over bake!
3) After you've made the cookies, put them in an airtight container with a slice of bread. The moisture from the bread keeps the cookies moist although change the bread every few days to prevent mould.
4) Finally if all else fails warm the cookies up in the ovens for a few minutes or even, if they're really tough, sprinkle a few drops of water on the cookies before warming up.
On a side note don't increase the proportion of sugar as this creates a crisp cookie. Have a look at this website for cookie troubleshooting: http://baking911.com/learn/baked-goods/cookies/problems-and-solutions.