В документации по psql говорится, что команда передается через опцию -c как одно значение.Следующее использует параметр -d, так как psql не разрешает параметры после позиционных аргументов, чтобы избежать переупорядочения параметров.
subprocess.call(['psql', '-U', DB_USER, '-d', DB_NAME,
'-c', ' '.join(['drop schema', SCHEMA_NAME, 'cascade'])])