From the screenshot, it appears they're running npm in a docker container inside the EC2 instance. It's curious that they did not use Container Sevice. I would have expected node to be running directly on the VM.
Pure guess (no affiliation to npm) but they're probably running it within a container to normalize the environment. If you read the docs it says they support both RHEL and Debian based distros (specifically Debian, Ubuntu, RHEL, and CentOS). By running in a container, all you need to set up on the host VM is docker. After that, the app itself is the same within containers on each of them.
If you do it DIY then you can also use the same packaging for your on-premise deployment as well (i.e. no AWS). ECS etc are great but not everybody is running on AWS.
I do work at npm, and you're right, that's why we do it. The same Docker-based installer (from a company called Replicated) installs on all our customers' many operating systems, so it was easiest to do the same thing to create our AMI.
We should look at ECS though. Are you more likely to deploy if something is in ECS than if it's a straight AMI?
Personally, I would never use an AMI that contained docker. I'd be more likely to use an ECS container, OR an AMI which runs node directly.
Though I must admit (1) I am not one of your customers, and (2) our BAA with Amazon prevents us from using ECS. We typically run node on ebs backed m3.medium instances running Amazon Linux.