In your code:
var obj = function () {
var name = "one";
This name is a property of the local variable object. This is the one that setName and getName have a reference to. It is resolved on the scope chain.
return {
name: name,
This name is a property of the returned object, i.e. it's a different "name" and is resolved using object property identify resolution (i.e. which is completely different to resolving identifiers on the scope chain). The line above assigns the current value of the local variable name, there is no closure here.
setName and getName are setting the closed variable, obj.name is not modified by those functions.