EULA stands for End User Licence Agreement, so no, there's not really any difference. Arguably "licence" could cover other sorts of licence (some sort of redistributor licence, for instance), but that's splitting hairs - for most practical purposes, the terms are interchangeable.
A developer can indeed write their own licence (you don't need to be a lawyer or anything for it to be a valid licence), but copyright and contract law can be hairy, and, unless you know what you're doing, you're far better getting a lawyer to at least check it over. If you don't, you risk inadvertently leaving yourself open to undesirable liabilities, or having terms that turn out to be unenforceable. You do not want to be in this situation if you're hoping to make money off the software. Rather than getting a licence drawn up from scratch (which is pricey), you should be able to use an off the shelf licence. A wide choice of open source ones are readily available if you go down that route, and even boilerplate commercial licences are available, though a fee might be charged for their use. A good lawyer should have or be able to recommend a stock licence to use as a starting point.
Finally, there are probably specialist software licencing lawyers, but any lawyer with reasonable experience in contract law and/or intellectual property should be able to help you if all you want is a little customisation of a boilerplate licence.