Sentence 1 is present perfect. We use it when something happened in the past but some consequence remains, or the something is still happening:
I have booked some tickets - booking took place in the past, but the tickets are still valid
I have been looking for a new flat - I was looking and I am still looking or have only recently stopped.
Looking at your sentence:
1- I have been a teacher for 10 years.
This means that the speaker started as a teacher ten years ago and is still a teacher at the time of speaking, or has only recently stopped.
Sentence 2 uses simple past: we use this to talk about something that took place in the past, or that continued for some time but is now finished.
I fell off a ladder - a single event
I spent a month in Thailand - it lasted a month, but now it's over
Looking at your sentence:
2- I was a teacher for 10 years.
This means that the speaker became a teacher and stopped after ten years: this all happened in the past.
As you can see, it is possible to specify a time interval with simple past, as long as the time interval ended well before the time of speaking.
For more information, see the British Council explanation of talking about the past.
No, it is completely false that you have to use the past simple when you use "today": it sounds as if somebody has tried to give you a simplified rule, which simply doesn't work.
You can use the present perfect when the event has some present relevance, but what that present relevance is can take different forms.
If you say it hasn't been delivered today then you are choosing to treat the period of time over which it might be delivered as continuing up to the present. This might imply that it still could be delivered (it doesn't necessarily have this implication, but it could have).
If you say it wasn't delivered today, then you are choosing to treat the period of time over which it might be delivered as having finished. This probably implies that it cannot still be delivered today.
But, as usual with perfect and continuous tenses, you have a choice of which form you use, depending on how you wish to present the temporal relationships between the events and the present.
On another subject, I find "It was attempted to deliver" extremely awkward, and possibly ungrammatical in my version of English: I would say either "they/someone tried to deliver" or "there was an attempt at delivery".
However, I have a suspicion that impersonal passives like that are more common in Indian English than my (British) English: certainly "today morning" is characteristic of Indian English, being unknown in British and American English.
Best Answer
Your two examples
are essentially equivalent both saying to complete the monthly report.
A slight nuance might be that since perfect tenses imply an ordering of events, your first example leaves the listener expecting something else might happen after the monthly process is finished.