First, it is important to note that not all countries in the world have exactly the same monetary system. I will focus predominantly on how things work in US and EU. Other places might have some special nuances that are not covered here. Also already there are some differences between EU and US that I will try to highlight. In addition, I will focus on your point about constraints on money creation rather than going to every gritty-nitty detail.
In a current modern monetary system money can be created by either central bank or private banks. I think it is best to start with central bank because it is much more simpler. Afterwards I will build upon that with more complex system that operates in private banking.
Central bank money
Money that central bank creates are generally known as high-powered money or monetary base. This includes central bank reserves and money in circulation. Important note here is that while ECB (EU) can both create notes and reserves, Fed technically can only create reserves and notes are printed by Treasury (bureau of engraving and printing) but this is primarily done to satisfy orders from Fed (example here) and Fed member banks so de facto the money in circulation also depend on what Fed influences the amount of notes.
The money printing itself is the simplest way how new money can be introduced. Treasury (to fulfill orders from Fed) or in EU ECB simply turns out the money printer and prints notes, or they contract some mints to mint notes.
Second way how they can create more money is via issuing reserves. This is either done to purchase assets (e.g. government or sometimes even private bonds) or to lend it to private banks. This is probably the only time when you can really say that money is actually being completely created out of nothing without any restrictions (private banks cannot do that as explained below as they are constrained by central bank monetary policy and banking regulation).
Numerically this works as follows. If CB wants purchase some asset such as government treasury costing \$1000 they simply enter that \$1000 into their accounting ledger as a reserve. Next they deposit (electronically) \$1000 onto sellers account in exchange for the government treasury thus creating extra deposit. This extra deposit becomes new money.
If private banks borrow reserves from central bank pretty much the same thing occurs. Central bank creates \$1000 reserves on its ledger and then lends it to private bank.
Money Created by Private Banking Sector
Here I do thinking it is better to start with little history window. You are correct that the 'fractional reserve model' (properly known as multiplier model) does not describe current modern banking system. However, it provided good enough approximation till about 2009, at least when it comes to supply side as central banks would also indirectly affect money demand through interest rate.
At that time private banks faced biding reserve constraints, as you can see from this graph provided by Fed up until 2008 there were virtually no excess reserves meaning banks were effectively limited in how much loans they give in terms of reserves, and you could describe supply side of the system with that multiplier model. In such system there was clearly a constraint on money creation. I will skip quantitative example for this case as its not very interesting.
Post 2009 we moved to a new system when central banks expanded amount of reserves and in 2013 even started paying banks to keep reserves (see Federal Bank of San Francisco explainer). In this environment mechanism changed. While there was still de jure constraint in form of reserve requirement, since reserves were abundant they did not pose de facto constraint on bank lending at that time. This system is quite well described by (McLeay et al, 2014) paper that was already mentioned in other answers as well.
Quantitatively, following McLeay et al, an example of how money was created would be as follows. A customers comes to a bank asks for \$1000 loan. Bank would record \$1000 loan and \$1000 deposit. They would still need to comply with reserve requirement but since there were excess reserves a bank could always get more as they lent. So reserve requirement at that point was not effective constraint in terms of reserves.
This lead to some people inaccurately calming that private banks are creating money out of nothing. However, that was always a misconception. As mentioned in McLeay et al, banks were restricted by monetary policy, number of loans they can effectively give out depends on interest rates etc. However, even more importantly as pointed out by Rendahl & Freund (2019) (these authors also debunk the Weiner claims) bank lending is constrained since they create private money by liquidity transformation. That is by transforming an illiquid future ability to repay of borrower into a liquid bank deposits, and failure to do so would result in bank bankruptcy. A CB does not face such limitations, hence why I said in previous section that is the only case where you can talk about money being created literally without constraint.
However, the above is not how banking system operates today. In early 2020s reserve requirements were abolished, so private banks did not faced even the de jure constraint anymore. Nonetheless, they were now constrained by new liquidity and capital buffers (see Åberg et al 2021). For example, the liquidity coverage requirements require that bank has certain level of liquid assets for given amount loans that they make usually also weighted by riskiness. These liquid assets could be still excess reserves, but many banks also hold short term government bonds (as they are typically given zero risk weight and might be more interesting for banks to hold than reserves).
Using quantitative example, now banks can just issue loan where they just create matching deposit account to loan without worrying about reserves per se. So for example, now if someone requests \$1000 they will create \$1000 deposit, but then in turn they are required to get some liquid assets to satisfy the liquidity coverage ratio. The exact amount depends on liquidity inflows and outflows of the bank as well as on riskiness of loans and so on. So bank will have to set up some \$x aside in liquid assets (reserves, gov bonds etc), and this constrains bank lending.
In addition, the Rendahl & Freund (2019) explanation still applies. In fact, the recent SVB failure is good example of banks failing at the liquidity transformation. You can have a look at this excellent video-explainer by professor Boyle. In essence, the reason why this bank failed was precisely when they were setting aside liquid assets (primarily government bonds and very little to no reserves) they unwittingly exposed themselves to interest rate risk. This is because price of bonds depends inversely on interest rate. When the bonds fallen in value they simply didn't had enough liquidity their liquidity outflows. This illustrates both the constraint created by liquidity transformation (although this bank failed at it and thus got eliminated), but it also shows that banks really at least some cash deposits to operate and can't just create money willy-nilly.
PS: Regarding the credit card question, I think Fed explains it quite well in this explainer. M2 is defined in a such a way that we do not include loans only assets, so also in the examples above money would be crated when deposit is created loan is just a counterbalance to that deposit. I recommend reading that explainer for more details.