You're mistakenly giving an ordering when you use $7^4$. $7^4$ gives the number of $4$-tuples $(w,x,y,z)$ where $1\leq w,x,y,z\leq 7$ with each number representing a day. You get because there are $7$ choices for each place. But in the numerator, you have no ordering- instead, you're counting the number of subsets (and by definition, sets are unordered) of the set $\{1,2...7\}$ with cardinality $4$. As before, each number represents a day, but you're not assigning a day to each dog.
Each set of $4$ days, e.g. $\{1,2,3,4\}$, which we can think of as Sunday, Monday, Tuesday, and Wednesday, represents multiple assignments of days to dogs. The first dog could be born on any of those $4$ days, the second dog could be born on any of those $3$ remaining days, the third dog could be born on any of those $2$ remaining days, and the last dog has no choice. If we multiply the number of sets of size $4$ by $4!=24$, we get all of the permutations of days represented by those sets, since each one has $24$ permutations. This additional factor gives us the given answer.