To position the content of the column div you can use the responsive versions of justify-content-* class with d-flex

<div class="row">
    <div class="col-md-4 d-flex justify-content-md-end justify-content-center">
      Email
    </div>
</div>

Just add the classes d-flex to display flex and justify-content-md-end to align at the end of the column for display md and upwards and justify-content-center to align to center for display xs and upwards.

Demo

Answer from Shiblu on Stack Overflow
🌐
Bootstrap
getbootstrap.com › docs › 4.0 › utilities › flex
Flex · Bootstrap
Use justify-content utilities on flexbox containers to change the alignment of flex items on the main axis (the x-axis to start, y-axis if flex-direction: column).
🌐
W3Schools
w3schools.com › bootstrap4 › bootstrap_flex.asp
Bootstrap 4 Flex
Use the .justify-content-* classes to change the alignment of flex items.
🌐
Educative
educative.io › answers › what-is-justify-content-in-bootstrap-4
What is justify-content in Bootstrap 4?
In Bootstrap 4, the justify-content utility class is used to align items according to the main axis inside the flex-box containers.
🌐
Bootstrap
getbootstrap.com › docs › 4.6 › utilities › flex
Flex · Bootstrap v4.6
Use justify-content utilities on flexbox containers to change the alignment of flex items on the main axis (the x-axis to start, y-axis if flex-direction: column).
Top answer
1 of 2
3

The day-block class make the <div class="day-block"> element a flex row container.

That makes the <div class="d-flex flex-wrap justify-content-between align-self-start"> element a flex row item, and a flex row item's default flex shorthand property is 0 1 auto, which mean it is sized by its content, hence the justify-content-between has no effect.

For justify-content-between to have an effect, add e.g. the built in col class, which change the flex-grow to 1, and with that make the flex row item fill its parent's width.

Note, since col also has padding, I added a custom class to remove it.

Stack snippet

.day-block {
  flex-basis: 49%;
  padding: 5px;
  margin: .5%;
  -webkit-box-shadow: 0px 2px 4px 0px #e4e4e4;
  box-shadow: 0px 2px 4px 0px #e4e4e4;
  min-height: 150px;
  display: flex;
  flex-wrap: wrap;
  font: 13px Verdana;
}

.day-block .col {
  padding: 0;            /*  if you don't want padding, keep this rule  */
}

.day-block p {
  margin: 5px 0 0;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
<div class="d-flex flex-wrap">
  <div class="day-block">

 <!-- added here ⇩ -->
    <div class="col d-flex flex-wrap justify-content-between align-self-start">

      <div class="day-number">01</div>
      <button class="btn-add-plan">+ Add Plan</button>
    </div>
    <div class="align-self-end">
      <div class="added-plan-wrap">
        <p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
        <p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
      </div>
    </div>
  </div>
  <div class=" day-block d-flex flex-wrap"></div>
  <div class=" day-block d-flex flex-wrap"></div>
  <div class=" day-block d-flex flex-wrap"></div>
</div>


An alternative to the col (since it has padding's), could be a custom flex-grow class:

.flex-grow {
  flex-grow: 1;
}

Stack snippet

.day-block {
  flex-basis: 49%;
  padding: 5px;
  margin: .5%;
  -webkit-box-shadow: 0px 2px 4px 0px #e4e4e4;
  box-shadow: 0px 2px 4px 0px #e4e4e4;
  min-height: 150px;
  display: flex;
  flex-wrap: wrap;
  font: 13px Verdana;
}

.flex-grow {
  flex-grow: 1;
}

.day-block p {
  margin: 5px 0 0;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
<div class="d-flex flex-wrap">
  <div class="day-block">

    <!-- added here ⇩ -->
    <div class="flex-grow d-flex flex-wrap justify-content-between align-self-start">

      <div class="day-number">01</div>
      <button class="btn-add-plan">+ Add Plan</button>
    </div>
    <div class="align-self-end">
      <div class="added-plan-wrap">
        <p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
        <p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
      </div>
    </div>
  </div>
  <div class=" day-block d-flex flex-wrap"></div>
  <div class=" day-block d-flex flex-wrap"></div>
  <div class=" day-block d-flex flex-wrap"></div>
</div>

2 of 2
1

Answer to the bolded question: Yes, unlike Bootstrap 3, Bootstrap 4 allows you to get done almost anything you'll ever need using the native Bootstrap 4 classes alone without ever touching css.

Regarding the rest of the question:

The following code does exactly what you're asking for without any custom css:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">


<div class="container">
    <div class="row mt-4">
        <div class="col">
            <div class="d-flex flex-wrap">
                <div class="day-block">
                    <div class="d-flex flex-wrap justify-content-between align-self-start">
                        <div class="day-number">01</div>
                        <button class="btn-add-plan">+ Add Plan</button>
                    </div>
                    <div class="align-self-end">
                        <div class="added-plan-wrap">
                            <p class="mb-3">Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p> <!-- class "mb" is margin bottom; choose a value between 0 and 5 -->
                            <p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
                        </div>
                    </div>
                </div>
                <div class=" day-block d-flex flex-wrap"></div>
                <div class=" day-block d-flex flex-wrap"></div>
                <div class=" day-block d-flex flex-wrap"></div>
            </div>
        </div>
    </div>
</div>

Note the use of the mb-3 class for margin bottom of the first paragraph.

Also note: The only thing I did is to use your code (inside a container-row-column structure) without your css. The alignment is exactly as you wish.

🌐
Bootstrap Shuffle
bootstrapshuffle.com › classes › flexbox › justify-content-*-between
justify-content-*-between - Bootstrap CSS class
Just use the Bootstrap Editor instead. flex-*-nowrap · flex-*-column · flex-*-row · flex-*-row-reverse · flex-*-column-reverse · flex-*-wrap-reverse · flex-*-grow-1 · flex-*-grow-0 · flex-*-shrink-1 · flex-*-shrink-0 · flex-*-wrap · justify-content-*-start ·
🌐
Bootstrap Shuffle
bootstrapshuffle.com › classes › flexbox › justify-content-*-center
justify-content-*-center - Bootstrap CSS class
<div class="d-flex justify-content-center"> <div class="p-2">Flex item 1</div> <div class="p-2">Flex item 2</div> <div class="p-2">Flex item 3</div> </div> <!-- responsive variations --> <div class="d-flex justify-content-sm-center">...</div> <div class="d-flex justify-content-md-center">...</div> <div class="d-flex justify-content-lg-center">...</div> <div class="d-flex justify-content-xl-center">...</div>Copy code ... Click one of the examples listed below to open the Shuffle Visual Editor with the UI library that uses the selected component. ... You don't need to remember all CSS classes. Just use the Bootstrap Editor instead.
Find elsewhere
🌐
TutorialsPoint
tutorialspoint.com › Bootstrap-4-justify-content-class
Bootstrap 4 .justify-content-* class
The following is the example to implement the justify-content-* class − ... <!DOCTYPE html> <html lang="en"> <head> <title>Bootstrap Example</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script> </head> <body> <div class="container mt-3"> <div class="d-flex justify-cont
🌐
TutorialsPoint
tutorialspoint.com › Bootstrap-4-justify-content-end-class
Bootstrap 4 .justify-content-*-end class
To justify the flex items on the end, use the justify-content-end class. To justify the flex items on the end, on different screen sizes, use the justify-content-*-end class. The flex item
🌐
W3Schools
w3schools.com › bootstrap4 › tryit.asp
Justify content center
The W3Schools online code editor allows you to edit code and view the result in your browser
🌐
HowDev
how.dev › answers › what-is-justify-content-in-bootstrap-4
What is justify-content in Bootstrap 4?
In Bootstrap 4, the justify-content utility class is used to align items according to the main axis inside the flex-box containers.
🌐
Shuffle
shuffle.dev › bootstrap › classes › flexbox › justify-content-*-between
Bootstrap CSS class: justify-content-*-between - Shuffle
« All Bootstrap CSS classes · <div class="d-flex justify-content-between"> <div class="p-2">Flex item 1</div> <div class="p-2">Flex item 2</div> <div class="p-2">Flex item 3</div> </div> <!-- responsive variations --> <div class="d-flex justify-content-sm-between">...</div> <div class="d-flex justify-content-md-between">...</div> <div class="d-flex justify-content-lg-between">...</div> <div class="d-flex justify-content-xl-between">...</div> .flex-*-nowrap ·
🌐
Bootstrap
getbootstrap.com › docs › 4.6 › utilities › text
Text · Bootstrap v4.6
Bootstrap 4 has reached end of life. Upgrade to the latest or consider Never-Ending Support for your project. ... Documentation and examples for common text utilities to control alignment, wrapping, weight, and more. Easily realign text to components with text alignment classes. Some placeholder text to demonstrate justified text alignment.
🌐
Stack Overflow
stackoverflow.com › questions › 63102010 › bootstrap-4-justify-content-around-not-working-for-flex-column
html - Bootstrap-4 justify-content-around not working for flex-column - Stack Overflow
The justify-content property aligns the flexible container's items when the items do not use all available space on the main-axis https://www.w3schools.com/cssref/css3_pr_justify-content.asp
🌐
TutorialsPoint
tutorialspoint.com › bootstrap-4-justify-content-around-class
Bootstrap 4 .justify-content-*-around class
June 18, 2020 - Use the justify-content-*-around class in Bootstrap to align flex items around on different screen sizes − justify-content-sm-around : Justify content on small screen size justify-content-md-a
🌐
Shuffle
shuffle.dev › bootstrap › classes › flexbox › justify-content-start
Bootstrap CSS class: justify-content-start - Shuffle.dev
« All Bootstrap CSS classes · <div class="d-flex flex-wrap justify-content-start bg-secondary" style="height: 50px;"> <div class="px-4 bg-primary"></div> <div class="px-4 bg-info"></div> <div class="px-4 bg-primary"></div> <div class="px-4 bg-info"></div> <div class="px-4 bg-primary"></div> <div class="px-4 bg-info"></div> </div> Click one of the examples listed below to open the Shuffle Visual Editor with the UI library that uses the selected component.
Top answer
1 of 1
1

Use margin-right: auto; or the .me-auto class on the last .col-3 child.

.col-3 {
  padding-top: .75rem;
  padding-bottom: .75rem;
  background-color: rgba(86, 61, 124, .15);
  border: 1px solid rgba(86, 61, 124, .2);
}

.row>.col-3:last-child {
  margin-right: auto;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" integrity="sha384- 
     Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<div class="container mb-4">
  <h4> w/ margin-right: auto; or .me-auto on last child</h4>
  <div class="row col-xl-3 col-lg-4 col-md-6 col-sm-12 justify-content-center">
    <div class="col-3">1</div>
    <div class="col-3">2</div>
    <div class="col-3">3</div>
    <div class="col-3">4</div>
    <div class="col-3">5</div>
    <div class="col-3">6</div>
  </div>
</div>

You can also just remove justify-content-center. See notes in the snippet.

.col-3 {
  padding-top: .75rem;
  padding-bottom: .75rem;
  background-color: rgba(86, 61, 124, .15);
  border: 1px solid rgba(86, 61, 124, .2);
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" integrity="sha384- 
     Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<div class="container mb-4">
  <h4> w/ justify-content-center </h4>
  <div class="row col-xl-3 col-lg-4 col-md-6 col-sm-12 justify-content-center">
    <div class="col-3">1</div>
    <div class="col-3">2</div>
    <div class="col-3">3</div>
    <div class="col-3">4</div>
    <div class="col-3">5</div>
    <div class="col-3">6</div>
  </div>
</div>

<div class="container mb-4">
  <h4> w/o justify-content-center </h4>
  <div class="row col-xl-3 col-lg-4 col-md-6 col-sm-12">
    <div class="col-3">1</div>
    <div class="col-3">2</div>
    <div class="col-3">3</div>
    <div class="col-3">4</div>
    <div class="col-3">5</div>
    <div class="col-3">6</div>
  </div>
</div>

<div class="container mb-4">
  <h4> full width w/ justify-content-center </h4>
  <div class="row col-sm-12 justify-content-center">
    <div class="col-3">1</div>
    <div class="col-3">2</div>
    <div class="col-3">3</div>
    <div class="col-3">4</div>
    <div class="col-3">5</div>
    <div class="col-3">6</div>
  </div>
</div>

<div class="container mb-4">
  <h4> full width w/o justify-content-center but container has max-width, resembles first fully populated row to be centered </h4>
  <div class="row col-sm-12">
    <div class="col-3">1</div>
    <div class="col-3">2</div>
    <div class="col-3">3</div>
    <div class="col-3">4</div>
    <div class="col-3">5</div>
    <div class="col-3">6</div>
  </div>
</div>

🌐
Bootstrap
getbootstrap.com › docs › 4.0 › layout › grid
Grid system · Bootstrap
<div class="container"> <div class="row justify-content-start"> <div class="col-4"> One of two columns </div> <div class="col-4"> One of two columns </div> </div> <div class="row justify-content-center"> <div class="col-4"> One of two columns </div> <div class="col-4"> One of two columns </div> </div> <div class="row justify-content-end"> <div class="col-4"> One of two columns </div> <div class="col-4"> One of two columns </div> </div> <div class="row justify-content-around"> <div class="col-4"> One of two columns </div> <div class="col-4"> One of two columns </div> </div> <div class="row justify-content-between"> <div class="col-4"> One of two columns </div> <div class="col-4"> One of two columns </div> </div> </div> The gutters between columns in our predefined grid classes can be removed with .no-gutters.