Olá!
Notei que no trecho abaixo há um detalhe que necessita correção:
def deleta_arquivo(id):
arquivo = recupera_imagem(id)
if arquivo != 'capa_padrao.jpg':
**os.remove(os.path.join(app.config['UPLOAD_PATH']), arquivo)**
O encerramento do join() deveria acontecer após a variável arquivo, a versão anterior ocasiona um erro relacionado à quantidade de parâmetros informados.
**os.remove(os.path.join(app.config['UPLOAD_PATH'], arquivo))**