Sir Keir Starmer has warned of “voices both here and abroad” who seek to cause division in his St George’s Day speech.