JavaScript (ES6), 7777 76 bytes
g=(n,s=`*${'s=`
*`+' *'.repeat(n*2-2)}
`,c=s,q=c.replace('*',''))=>--n?g(n,q+s+q,q):s
I told myself I wouldn't sleep until I had set a new ES6 record without looking at the other answers, so here it is...
Test snippet
g=(n,s=`*${'s=`
*`+' *'.repeat(n*2-2)}
`,c=s,q=c.replace('*',''))=>--n?g(n,q+s+q,q):s
for(var i = 1; i < 7; i++) console.log(g(i)) // joe