You don't have a solution, you have a kludge which worked around the problem.
Ubuntu Mate normally uses Network Manager to manage networking. I don't use static addresses, so have never explored this under Network Manager, but am sure it would be possible.
What you have in /etc/network/interfaces is a version of Debian networking, and not a reliable version. This can be improved if you use wpa-roam, but even if you get this going it is not as robust as Network Manager.
There are other network managers (Rasbpian used dhcpcd, which is quite robust, but lacks full support in Ubuntu), but I suggest you investigate Network Manager.