I found the problem. I installed Centova Cast, but it kept spitting out errors so I removed it. It uses FTP integration to upload your radio files.
The error Failed binding to ::, port 21: Address already in use. lead me to check what was using port 21, so I ran fuser -n tcp 21 which gave:
21/tcp: 5325
Then I ran ps -ef | grep 5325, which showed the process was cc-ftpd, which is Centova Cast’s FTP. I killed the process and now proftpd works.
Is there a way of stopping cc-ftpd from running so this doesn’t happen again?