Why alkyl shift happens during hydroboration oxidation?
But why does this happen?

Well, if it was a plain old carbon in the middle, this migration wouldn't happen. It would sit there forever. Boron isn't carbon, though: it has fewer protons, is less electronegative, and doesn't like holding onto electron density all that much. That electron density gets pushed onto the adjacent carbons, which make them rather more nucleophilic, and happy to jump next door into the $\sigma_\ce{O-O}^*$ orbital.
You can see, after all, that there's something about that boron that's not quite perfect: it has a formal negative charge. While this shouldn't be taken as a sign of great instability, it does suggest that boron won't mind losing that formal negative charge too much.

Won't the boron atom become less stable as the empty p orbital is regenerated?

The energetics of this migration aren't just about the boron atom, it's about the system as a whole. You are also breaking a weak O–O bond, forming a stronger C–O bond in replacement, and so on. And indeed, even if this one step is energetically unfavourable, it might not even matter as long as the overall reaction is spontaneous.
Is the overall reaction energetically favourable? I'll leave it to you to think about it, based on the types of bonds that are broken and formed over the course of the entire reaction. You already saw some of the considerations in the linked question. (I don't get what you mean by the boron atom being bonded to oxygen before the reaction; it isn't, as it has three bonds to carbon.)

Won't this cause the $\ce{OH-}$ (strong nucleophile) to attack the boron (electrophile) again?

Well, yes, but not much happens if you go down that route. It's far more interesting if $\ce{OOH-}$ attacks the boron again, because that means the second alkyl group can migrate. That is precisely the mechanism that you have learnt.