Actually, the login page functionality is one of the last things we usually do on custom projects - you can always use the existing login page for the administration purposes. Note that by default ASP.NET forms authentication is configured to use a page named login.aspx in the root of the site, so you should probably keep the name whatever you do with the design.
As for your code, it appears that you want the login module on the default page of the site? You can have it that way, and you can actually login via the default MonoX functionality until everything else is set up. Hoever, note that usually most of the parts are physically placed in the page markup (look into the code of the existing pages), unless you plan to use drag and drop personalization extensivelly for some reason. It is easier to maintain projects where you can find your way through pages and their controls, compared with pages with empty web part zones where parts are dynamically instantiated.
Something along these lines...
<%@ Register TagPrefix="MonoX" TagName="Login" Src="/MonoX/ModuleGallery/LoginModule.ascx" %>
...
<
asp:WebPartZone
ID
=
"WebPartZone1"
runat
=
"server"
>
<
MonoX:Login
runat
=
"server"
ID
=
"ctlLogin"
Width
=
"100%"
/>
</
asp:WebPartZone
>
...
Of course, the login part can now be configured dynamically (using the admin toolbar) or via code.