For 3rd time in week, president cancels appearance after learning PM will be there; his office says the event has 'a political tone' ahead of next month's elections