The correct answers are needn't and must. In the first part of B's statement, it means it's not necessary for the house to be big, so the correct phrase is 'needn't be'. In the second part, a nice garden is a requirement for this house, so the phrase is 'must have'.