Let's say you're doing Test Driven Development and so your development process should go something like this:
- Write a test to cover the new functionality required (test fails)
- Write code to make the new test pass (along with all others)
- Refactor the code
- Make sure all tests still pass
- Check your code into source control
Except, in your case, you are jumping from step 2 to step 5 (skipping steps 3 and 4) - and now you want to punish management for you doing a quick and dirty job. Effectively, you are going to management and saying "We want to rewrite the entire application which the customer has already accepted and paid for, add no new functionality, spend loads of developer time doing it for which you won't get paid, and potentially introduce new bugs just so we can make the programs prettier to look at for us developers". Nobody is going to go for that.
An important point is that you don't know where you need to make the code more understandable - most of the application may never have a developer look at it again and go on working forever, as ugly it is.
Think of this in the same way as performance tuning - you only tune the areas of code that demonstrate that they are slow and need tuning. In the same way, the time to refactor code (for an existing project that hasn't been refactored while developed) is when you go into part of the code again to fix a bug or add a feature and the code isn't understandable. As part of gaining an understanding of the code, refactor it and make in more understandable - if the tests still pass, then you've understood it.
The thing to do now is not go to your boss and say that you did a crappy job and you need to stop doing paid work in order to make the code prettier. The approach to take is to explain about technical debt and let your boss know that in order to meet his deadlines you cut a few corners and for future work there will be a slight increase in the amount of time taken to do the work as you make the code better. Also explain that as you do this, the time taken for fixes/features will reduce but if you don't do it development will take longer each time something needs to be done and the code base is likely to get less easy to change and the application will become more fragile.
Refactoring the code that you come in contact with as you go forward allows the code cleanup to be done only for the code that needs it, when the work will be paid for.