My textbook says,

accomplish is used for more like personal things than achieve.

She has a lot of wishes but accomplishes nothing.(In this case,the sense sounds more like 'personally attain')
She has a lot of wishes but achieves nothing.(In this case,the fact of achieving nothing sounds being evaluated by the social standards. )

and accomplish implies more intentional than achieve.

So,you could say,he achieved greatness.but you couldn't say he accomplished greatness.because he didn't get the evaluation of greatness intentionally.(unless his purpose was greatness itself in the first place.)

how do you feel about this? I'd like to have your comment and more detail explanation.
Thank you in advance !
I think your textbook is far too prescriptive. I don't see those 'neat' differences at all.
Students: Are you brave enough to let our tutors analyse your pronunciation?
Thank you for replying,but if you don't bothered,could you tell me the slight difference between the two words?(if you had to say it.)
'achieve' refers to the end result. Hence,
"At the end of a long and accomplished life, he achieved greatness when he was awarded a Nobel Prize."

'accomplish' refers to the process of bringing (something) to a successful completion. If you do...then you have achieved your goal.

"We did not achieve our goal, of eradicating malaria in Tanzgambo, but we accomplished much with regard to a major vaccination program for other common diseases, and in sanitation."
Thanks for the Answer. Really helpful.
Teachers: We supply a list of EFL job vacancies