I am not opposed to 401k loans when they are used to increase networth. If you are going to pay off debt, feel good, then go spend money then I think it is best to keep the debt outstanding to put the fear into you.
401k loans typically take 15 minutes and are funded within 48 hours, so not to much paperwork if you have double the amount in investments. People think that it is great that the rate is only 1.5%, when really it is terrible as this is the yield your 401k is earning. The higher the better. I was trying to get a higher rate when I got a loan, but they were statutory. Again, higher rate is higher return on your 401k investment. I also took the money out of my riskfree type of investments in my 401k so my 401k yield was not hurt too bad. I was paying 4.25% on the loan, so I was about breakeven based on the security categories that I pulled it from. I was using it for an investment that was paying 18%, so my networth was improving significantly. All your debt is $20k with an average rate of 7.7%. So if you are disciplined you can turbo charge your debt. Also, make sure that you aren't hurting yourself with taxes by paying off your student loans. If they are qualified you are getting tax benefits for the interest paid.
Before taking a loan, you should also have a generally good feeling about your employment status as if you get fired or laid off the loan is due immediately. If you don't pay it back then you are hit with a 10% penalty and taxes on the unpaid amount. Not cool.
I also think it is important to continue making 401k contributions even when you are getting a loan from your 401k. Keep getting the free money match, and reduce your taxes.
Again this is all based on having control of your finances and a fairly secure job. You can make additional payments to your 401k loan with the interest savings if you want to pay it off quickly as well.
Good luck!
Tom