«Tenho que me esforçar por as cumprir» quer dizer «tenho de [é melhor pôr de, e não que] empregar todos os esforços». «Tenho… para as cumprir» significa que «tenho de fazer forças» (isto é: não me é fácil cumprir o objectivo sem muito trabalho). Por indica talvez melhor o objectivo, a finalidade, e em frases deste tipo é mais enfático; vejam-se «fazer por lá ir» a par de «fazer tudo para lá ir», em que é indispensável o emprego de tudo. Isto não quer dizer que, muitas vezes, seja quase indiferente usar por ou para, como em «fazer votos por» ou «fazer votos para».