I am with you all the way.
Your son and his girlfriend are young, yes, but so were you when you had your son, and I am guessing that you did not sponge on your parents or in-laws.
Neither should they.
To put it crudely: they were old enough to sleep together, so they were equally old enough to either have bought a packet of condoms or to accept responsibility for having a child on the way now.
And that in my book entails them getting of their backsides and down to your local housing authority and getting themselves some accomodation before the bairn is born.
They are in work both of them, so much better off than many young parents. They can start saving now, and a rented flat may take all of one wage, but not all of both their wages.
They may be entitled to some benefits too, so point out that Citizens' advice is open for business..
Do not give in to this stupid idea about them living with you, either full-time or part-time. If her mother is as you say over the moon about her young daughter being pregnant, let her help.
Tell your son you are sorry that you have apparently brought him up to feel that the world owes him a living, and that you forgot to include the basics of sex and responsibility for one's actions in his upbringing.
To make up for these omissions, you will help him find accomodation, but he pays for it.
Leave your husband to stew in his own juice for a while. He probably wasn't expecting this bombshell either. You were not planning on another baby until next year, so leave all discussion of that until next year.
My sister had just had her 18th birthday when her eldest was born, and became a grandmother 20 years later when her younger daughter started a family. Like you, my sister said, "I am too young to be a grandmother" (to me, not to her daughter) to which I replied jokingly, " well you should have thought of that 20 years ago and she laughed.
She did however come to love her grandsons, but wisely left their rearing to her daughters. Not that they asked for help, either.