Whenever I play offline, my skin is Alex instead of Steve. I checked to make sure I was using the Steve skin layout but I always have the Alex skin layout offline even though I'm using the Steve layout. When I'm online, I have the Steve skin layout, why is this happening?
Every account has a default skin, this is used when you decide not to use a custom skin or when skins are inaccessible (ie, the skin server is down, you're playing offline, etc). This default skin can never be changed, and it is randomly assigned when you sign up.
When Alex was first introduced, Mojang applied this randomization to all existing accounts at the time.
you can go into the minecraft files and just replace alyx with another steve skin, that way your personal PC will display steve as a default
keep in mind that this would be considered a modded version of minecraft, and you wouldn't be able to play on some servers afterward
If you try to do that the launcher will detect that the jar or file (anything in .minecraft that isn't a game data file, like saves, resource packs, or configuration files) is corrupt and download a clean copy (mods, or rather, their installers, bypass this by making a custom version which prevents the launcher from downloading a clean jar, even then, the launcher still complains about it. You can do this manually but it can be tedious) - this is why there are resource packs so you can change assets without modifying the game itself, including the player skin (only a few textures can't be changed with resource packs, such as the title screen).
Either way, you can't change the player model (independent from the skin) without mods or another account (the game uses your UUID to determine the default model); as far as mods go it would be very easy to change it though I don't know of any such mods (not that I use any other than my own, or for newer versions).
Also, servers do allow modded clients to connect and i doubt such a simple client-sided mod would cause any issues, any more than Optifine does (you are thinking of mods that add new items, blocks, entities, etc, which do need matching mods on both sides. Some of Optifine's features are server-sided but they only include optimizations and only work in singleplayer so it is generally seen as a client-only mod).