By a bit of good fortune I managed to solve the issue by setting the default attribute to false before setting the voice
function speakPhrase(phrase) {
if(phrase =="")
{
alert("Please enter a phrase before asking me to speak for you. Thank you!");
}
else
{
var speech = new SpeechSynthesisUtterance(phrase);
var voices = window.speechSynthesis.getVoices();
speech.default = false;
speech.voice = voices.filter(function(voice) { return voice.name == 'Google UK English Male'; })[0];
speech.lang = 'en-GB'; //Also added as for some reason android devices used for testing loaded spanish language
window.speechSynthesis.speak(speech);
}
}