Are there more rectangles than squares?
There are the same number of rectangles as squares for the reason you mention, even though the set of squares is a proper subset of the set of rectangles. It's no stranger than the fact that there are the same number of even integers as there are integers. Every infinite set can be placed in one-to-one correspondence with a proper subset of itself.
It depends. Two answers have pointed out that, as far as cardinality goes, the set of squares has the same cardinality as the set of rectangles. But there are other ways to look at the question.
For example, if you know where two opposite vertices of the square are, then you know the square. But a rectangle is not determined by two vertices – you have to know three vertices to determine a rectangle. So in a sense (and it can be made a quite precise sense), the set of all squares is a two-dimensional object, while the set of all rectangles is a three-dimensional object, and in that sense the set of all rectangles is a bigger object. It's like the two-dimensional surface of a three-dimensional ball; surface and ball have the same cardinality, but ball has the bigger dimension.
We can define the set of rectangles in $\mathbb{R}^2$ (disregarding translations by sending the bottom-left corner to the origin) to be the set $\mathcal{R}=\{[0,a]\times[0,b]:a,b\in\mathbb{R}\}$ and the set of squares $\mathcal{S}=\{[0,a]\times[0,a]:a\in\mathbb{R}\}$. There is a bijection $\mathcal{R}\to\mathbb{R}^2$ given by $[0,a]\times[0,b]\mapsto(a,b)$, and a bijection $\mathcal{S}\to\mathbb{R}$ given by $[0,a]\times[0,a]\mapsto a$. Since $|\mathbb{R}^2|=|\mathbb{R}|$, there exists a bijection $\mathcal{R}\to\mathcal{S}$ and so $|\mathcal{R}|=|\mathcal{S}|$, i.e. there are "the same number" of rectangles as there are squares.