Your sub queries don't quite make sense. Typically you want to use subqueries as a last resort in preference of joins. For example:
SELECT
posts.id, COUNT(votes.*) AS votesCount, SUM(vote) AS votesUp
FROM posts
LEFT JOIN votes ON votes.post = posts.id
WHERE
posts.id = 1
GROUP BY posts.id
This also makes it easier to do the subtraction, though it does unfortunately require a bit of repetition (aliases cannot be used in subsequent columns :/):
SELECT
posts.id, COUNT(votes.*) AS votesCount, SUM(vote) AS votesUp,
COUNT(votes.id) - SUM(vote) AS votesDown
FROM posts
LEFT JOIN votes ON votes.post = posts.id
WHERE
posts.id = 1
GROUP BY posts.id