Here is a cultural difference. In English spoken countries, you may confidently define a modest person as having a stronger heart, and this is unarguablely a good character, so you feel 虚 is negative and doesn't fit in the good word. However, the Chinese culture doesn't convey ideas that straightforward. We tend to step back a little bit to show something good. In this case, 虚 implies that, if another person and I both have strong ideas, I should step back a little and try to "make room in my heart" to accept other people's opinions. The "虚" is not literally positive, but here the action of stepping back a little bit is actually what our culture encourages.
If you look at the word "modesty", it literally implies that you properly keep and convey your ideas, not too much or too less. But if you look at the word "谦虚" in which 谦 means if another person and you both want to do the same thing, you just have him do it; 虚 means if another person and you both want to convey ideas, you try to accept the other one's idea first. Do you see the difference? In the Chinese culture, a little "less" or stepping back is encouraged. This is why 虚 in this case is actually a positive character rather than a negative one.
Let me give you another example of "承让", which is a traditional politely expression of "good game" after you win a game or fight. But "承让" literally means, I know you are stronger, but you didn't play on your best, this is your generosity to have me win, I appreciate that. You see that? Even if you win, you tried to give the credits to your opponent sincerely. This is the cultural difference. And "谦虚" is the same idea, the word uses two "stepping back" character to show a positive trait which our culture advocates.