This has been described before, but I will repeat it for you. Push email requires cooperation between the mail server (Yahoo, in this instance) and the phone. Push cannot be implemented on the phone without cooperation from the mail server, which has to send push notifications when there is mail to be delivered.
Yahoo has discontinued cooperating if you are using Apple's email client. They continue supporting Push if you download and use the Yahoo email app for iPhone, but not for the default Apple email client. They probably did this to force people to use their app, which allows them to track you better. BTW, gmail has done the same thing. Push only works with the gmail app.
If you don't want to use the yahoo mail app you will have to use Fetch instead. Fetch checks for email periodically, on a schedule you set. The shortest fetch cycle is every 15 minutes.